Jump to content

freedom

Пользователи
  • Content Count

    87
  • Joined

  • Last visited

Community Reputation

3 Обычный

About freedom

  • Rank
    господин высокооплачиваемый, не новичок и Всея Руси

Информация

  • Пол
    Не определился

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. код у модуля стремный, несмотря на то что у самого opencart он тоже стремный и не выдерживающий вообще ни какой критики, то данный модуль вообще жесть. о комментариях вообще молчу, не нашел ни одного коммента в коде.
  2. также нет подсветки активного пункта меню, например подстановкой класса active здесь я так понял поддержка мертвая?
  3. Модуль отличный, но есть просьба - сделать вывод категорий в select в виде дерева (иерархии) , у меня например около 80 категорий, и они выводятся в select все скопом, это неудобно, учитывая например тот факт что заголовки категорий совпадают в некоторых случаях
  4. Также неплохо было бы сделать возможность глобально присваивать параметр "необходима доставка"
  5. спасибо за модуль, только не хватает функции "добавить товар" , приходиться заходить в стандартную версию редактирования... не удобно
  6. заметил одну не хорошую особенность, при повторной загрузке каталога ни чего кроме цены не обновляется, что не совсем правильно, потому что я мог например добавить еще картинок к товару или изменить заголовок
  7. очень нехватает функции перемещения товаров из одной категории в другую
  8. та же история brands работает , а ссылка на производителя осталась кривой
  9. идентификация идет по GUID , это уникальный идентификатор, чтобы не затирались заголовки то это нужно править UPDATE запрос в модуле
  10. я наверно ввел вас в заблуждение, я хотел на самом деле написать название таблицы не product_to_1c_atribute , а attribute_to_1c , ведь когда мы выгружаем из 1С то доп. свойства (атрибуты в опенкарт) мы должны сначала создать , т.е. сделать соответствующие записи в таблицы attribute_.... и опять вернусь к тому зачем нужна таблица attribute_to_1c , например у нас изменилось наименование доп.свойства в 1С (именно наименование, а не его значение для товара) , то нам нужно это наименование обновить в таблицах attribute_.... , а как это сделать если у нас ни где не сопоставлено ID атрибута в опенкарт = Ид доп. свойства 1С надеюсь теперь более понятно изложил
  11. тогда давайте я вас просвещу :) и как в логике это должно работать 1. Доп. свойства товаров в 1С должны записываться в атрибуты опенкарта (кроме свойств Производитель, H1 и др. системные параметры) 2. Характеристики номенклатуры 1С - это как раз дополнительные параметры товаров (в опенкарте называются Опции) которые могут иметь свои остатки по складу, свои доп. наценки и т.п.) их как раз нужно выгружать в Опции опенкарта . (но это как правило редкость, я не часто встречаю организации которые ведут складской учет по характеристикам товаров) вернемся к первому, как я вижу это в php , нарусуем сначала фнкцию: /* cпарсим все свойства и реквизиты функция выдает все свойства и реквизиты в виде массива вида $ data[<ид_товара_1с>][<назва_свойства>] = Значение свойства */ private function parseElementsAndProperties($xml){ $arrayOfProperty = array(); $result = array(); $ids_propertys = array(); // сначала найдем иди свойств в классификаторе по их названию. // Затем мы их обычно перепишет на нормальные названия if (isset($xml->Классификатор->Свойства->СвойствоНоменклатуры)){ foreach($xml->Классификатор->Свойства->СвойствоНоменклатуры as $property){ $ids_propertys[(string)$property->Ид] = (string)$property->Наименование; } } if (isset($xml->Каталог->Товары->Товар->ЗначенияРеквизитов->ЗначениеРеквизита)){ foreach($xml->Каталог->Товары->Товар as $product_el){ $product_id = (string)$product_el->Ид; foreach($product_el->ЗначенияРеквизитов->ЗначениеРеквизита as $element){ $result[$product_id][(string)$element->Наименование] = (string)$element->Значение; } } } if (isset($xml->Каталог->Товары->Товар->ЗначенияСвойств->ЗначенияСвойства)){ foreach($xml->Каталог->Товары->Товар as $product){ $product_id = (string)$product->Ид; if(isset($product->ЗначенияСвойств->ЗначенияСвойства)){ foreach($product->ЗначенияСвойств->ЗначенияСвойства as $property){ $arrayOfProperty = @json_decode(@json_encode($property),1); //Находим по ид наше значение. $result[$product_id][(string)$ids_propertys[(string)$arrayOfProperty['Ид']]] = (string)$arrayOfProperty['Значение']; } } } } return $result; } теперь нам не нужно делать кучу case , а получить можно значение вот так $PathToFile = DIR_CACHE . 'exchange1c/import.xml'; $object = simplexml_load_file($PathToFile); $properties = $this->parseElementsAndProperties($object); echo $properties[strval($data->Ид)]['Производитель']; т.е. тут можно взять весь массив этих доп. свойств (атрибуты в опенкарте) и записать, но встает вопрос о последующей синхронизации этих атрибутов при обновлении товаров, для этого нам и понадобиться вспомогательная таблица product_to_1c_atribute
  12. атрибуты = дополнительные свойства товара (сейчас в качестве доп. свойств выгружаются только Производитель и еще что то)
  13. да я собственно ни чего нового не придумываю, просто смотрю структуру битрикса и hostcms, там ключи атрибутов пишутся в таблицу подобную таблице product_to_1c , в любом случае чтобы нам записывать атрибуты, то нам нужно куда то писать уникальные идентификаторы которые экспортируются из 1С по которым и сопоставлять в дальнейшем атрибуты.А вот опции я бы загружал только если учет в 1С ведется по характеристикам
  14. есть еще небольшой баг, если удалить товар который ранее был вугружен из 1С , то запись из таблицы product_to_1c не удаляется, думаю решить это можно либо правкой модели ядра или можно через vqmod сделать думаю также следовало бы добавить сразу в инсталлятор таблицу product_to_1c_atribute так сказать задел на будущее :)
  15. как видно http://oc15-1c.sitehosting.com.ua/index.php?route=product/product&path=1_2_3&product_id=1 у вас тоже не записывается в БД путь для доп изображения. Я так понял тут проблема именно в записи пути в БД , т.к. сами файлы доп. изображений выгружаются и присутствуют в каталоге /image/import_files
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.