Настройка "Используется первая версия модуля ocfilter.com"

Помощь пользователям в работе с программой E-Trade Content Creator
biolion
Сообщения: 244
Зарегистрирован: 22 июл 2013 22:20

06 май 2014 12:04

TechAdmin писал(а):
Может можно в СС реализовать такую возможность?

Попробуем доработать это.

А на какие примерно сроки можно рассчитывать? :oops:
blackfm
Сообщения: 50
Зарегистрирован: 18 июн 2014 00:55

21 июн 2014 01:53

как дело обстоит с мультиатрибутами, о которых шла речь в этой теме?
blackfm
Сообщения: 50
Зарегистрирован: 18 июн 2014 00:55

20 авг 2018 23:26

Как там поддержка мультиатрибутов (разделителя) для OCfilter? а то уже 4 год прошел, а в теме тишина? Ведь поддержка данного модуля заявлена Вами
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

21 авг 2018 10:09

Нет поддержки разделителя, более того в последней версии модуля разработчик убрал эту функцию.
С уважением, поддержка ElbuzGroup.
blackfm
Сообщения: 50
Зарегистрирован: 18 июн 2014 00:55

21 авг 2018 11:47

кто, куда и кого ублал не понятно.
Вот у меня скачанная у автора неделю назад версия, вот скриншот, что при копировании атрибутов можно указать разделитель
скриншот:
http://prntscr.com/kl4imb

то есть, разделитель является штатным функционалом модуля вот уже лет 3-4
.
Тем более, пообщался с автором, он обещал дать скрипт, который можно будет использовать для разбивки значений атрибутов после импорта с СС... но вот не понятно, почему такой скрипт не интегрирован в стандартный туннель СС, ведь с моей стороны не очеь бы хотелось использовать костыли
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

21 авг 2018 12:03

В модуле для OpenCart3 этой функции не было, возможно автор добавил её недавно.
С уважением, поддержка ElbuzGroup.
blackfm
Сообщения: 50
Зарегистрирован: 18 июн 2014 00:55

21 авг 2018 17:08

TechAdmin писал(а):
21 авг 2018 12:03
В модуле для OpenCart3 этой функции не было, возможно автор добавил её недавно.
ок, я понял, так ждать в ближайшее время полной поддержки OCFilter или возвращать у его автора деньги?
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

21 авг 2018 17:30

В программе не будет доработана эта функция.
С уважением, поддержка ElbuzGroup.
blackfm
Сообщения: 50
Зарегистрирован: 18 июн 2014 00:55

22 авг 2018 12:29

Разработчик поделился php кодом, который нужно исполнять уже после импорта значений характеристик в базу из СС.
Подскажите, куда его лучше вставить, чтобы заработало разделение?

Код: Выделить всё

$separator = ','; // Здесь указываем ваш разделитель.


$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "ocfilter_option_value_description WHERE language_id = '" . (int)$this->config->get('config_language_id') . "' AND name LIKE '%" . $this->db->escape($separator) . "%'");

foreach ($query->rows as $result) {
  $values = explode($separator, $result['name']);

  foreach ($values as $value) {
    $value = trim($value);

    if (!$value) {
      continue;
    }

    $value_query = $this->db->query("SELECT value_id FROM " . DB_PREFIX . "ocfilter_option_value_description WHERE language_id = '" . (int)$this->config->get('config_language_id') . "' AND option_id = '" . (int)$result['option_id'] . "' AND LCASE(TRIM(name)) = '" . $this->db->escape(utf8_strtolower($value)) . "'");

    if ($value_query->num_rows) {
      $value_id = $value_query->row['value_id'];
    } else {
      $this->db->query("INSERT INTO " . DB_PREFIX . "ocfilter_option_value (option_id) VALUES ('" . (int)$result['option_id'] . "')");

      $value_id = $this->db->getLastId();

      $this->db->query("INSERT INTO " . DB_PREFIX . "ocfilter_option_value_description (option_id, value_id, language_id, name) VALUES ('" . (int)$result['option_id'] . "', '" . $this->db->escape($value_id) . "', '" . (int)$this->config->get('config_language_id') . "', '" . $this->db->escape($value) . "')");
    }

    $this->db->query("INSERT IGNORE INTO " . DB_PREFIX . "ocfilter_option_value_to_product (product_id, option_id, value_id) SELECT oov2p.product_id, '" . (int)$result['option_id'] . "', '" . $this->db->escape($value_id) . "' FROM " . DB_PREFIX . "ocfilter_option_value_to_product oov2p WHERE oov2p.option_id = '" . (int)$result['option_id'] . "' AND oov2p.value_id = '" . $this->db->escape($result['value_id']) . "'");
  }

  if ($values) {
    $this->db->query("DELETE FROM `" . DB_PREFIX . "ocfilter_option_value` WHERE value_id = '" . $this->db->escape($result['value_id']) . "'");
    $this->db->query("DELETE FROM `" . DB_PREFIX . "ocfilter_option_value_description` WHERE language_id = '" . (int)$this->config->get('config_language_id') . "' AND value_id = '" . $this->db->escape($result['value_id']) . "'");
    $this->db->query("DELETE FROM `" . DB_PREFIX . "ocfilter_option_value_to_product` WHERE option_id = '" . (int)$result['option_id'] . "' AND value_id = '" . $this->db->escape($result['value_id']) . "'");
  }
}
Ответить

Вернуться в «Техническая поддержка программы E-Trade Content Creator»