Перейти к содержанию
Официальный форум поддержки Simpla
  • Кто в онлайне   0 пользователей, 0 анонимных, 35 гостей (Посмотреть всех)

    Зарегистрированных пользователей в онлайне нет

  • Статистика пользователей

    15223
    Пользователей
    2015
    Максимум онлайн
    Сергейиванов
    Новый пользователь
    Сергейиванов
    Регистрация
  • Новые сообщения

    • методом проб, получился вот такой код: если при импорте значение свойств в файле csv пустое, значение на сайте не изменяется если есть значение в csv, перезаписывает это значение на сайте. Вдруг кому пригодится Насколько правильно он написан, не могу сказать, но свою функцию выполняет // Поиск или создание функции $this->db->query('SELECT f.id FROM __features f WHERE f.name=? AND f.id in(SELECT feature_id FROM __categories_features AS cf WHERE cf.category_id =?) LIMIT 1', $feature_name, $category_id); if (!$feature_id = $this->db->result('id')) { // Разбиение значения функции на массив $opts = explode($this->option_delimiter, $feature_value); // Проверяем, содержит ли $opts корректные значения if (!empty($opts)) { $has_valid_opts = false; foreach ($opts as $opt) { if (trim($opt) !== '') { $has_valid_opts = true; break; } } } // Если есть хотя бы одно корректное значение if ($has_valid_opts) { $feature_id = $this->features->add_feature(array('name' => $feature_name)); // Добавление функции в категорию $this->features->add_feature_category($feature_id, $category_id); // Добавление новых значений foreach ($opts as $opt) { $opt = trim($opt); if ($opt) { $this->features->update_option($product_id, $feature_id, $opt); } } } } else { // Выполнение запроса $this->db->query('SELECT value FROM __options WHERE product_id = ? AND feature_id LIMIT 1', $product_id); // Получение результата $value = $this->db->result('value'); if (!empty($value)) { // Разбиение значения функции на массив $opts = explode($this->option_delimiter, $feature_value); // Проверяем, содержит ли $opts корректные значения if (!empty($opts)) { $has_valid_opts = false; foreach ($opts as $opt) { if (trim($opt) !== '') { $has_valid_opts = true; break; } } } // Если есть хотя бы одно корректное значение if ($has_valid_opts) { // Удаление старых значений $this->db->query('DELETE FROM __options WHERE product_id = ? AND feature_id = ?', $product_id, $feature_id); // Добавление новых значений foreach ($opts as $opt) { $opt = trim($opt); if ($opt) { $this->features->update_option($product_id, $feature_id, $opt); } } } } if (empty($value)) { // Разбиение значения функции на массив $opts = explode($this->option_delimiter, $feature_value); if (!empty($opts)) { // Добавление новых значений foreach ($opts as $opt) { $opt = trim($opt); if ($opt) { $this->features->update_option($product_id, $feature_id, $opt); } } } } }  
    • Помогите сделать функцию. При импорте csv файла товара, нужно сделать проверку существующих характеристики. Основные условия, если ячейка из csv файла пуста, то значение характеристики на сайте не изменяется. Если ячейка не пустая и у товара есть заполненная характеристики на сайте, то это значение удаляется, и заполняется новыми значениями... подскажите как правильно должно быть, а то чет не работает удаление...  От программирования к сожалению далек, состряпал вот такой код, который работает на 40% из задуманного. $this->db->query('SELECT f.id FROM __features f WHERE f.name=? AND f.id in(SELECT feature_id FROM __categories_features AS cf WHERE cf.category_id =?) LIMIT 1', $feature_name, $category_id); if (!$feature_id = $this->db->result('id')) { $feature_id = $this->features->add_feature(array('name' => $feature_name)); } $this->db->query('SELECT value FROM s_options WHERE product_id = ? AND feature_id = ? LIMIT 1', $product_id, $feature_id); if (!$value = $this->db->result('')) { $this->features->add_feature_category($feature_id, $category_id); $opts = explode($this->option_delimiter, $feature_value); if (!empty($opts)) { if (is_array($opts)) { $this->features->delete_option($product_id, $feature_id); foreach ($opts as $opt) { $opt = trim($opt); if ($opt) { $this->features->update_option($product_id, $feature_id, $opt); } } } } }  
    • а как сделать асинхронную отправку / фоновую отправку? Потому что страница долго грузится пока идет отправка сообщений
    • Подскажите пожалуйста, в каком файле необходимо внести данные изменения?  
  • Статистика форума

    • Всего тем
      12327
    • Всего сообщений
      96304
×
×
  • Создать...