Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

freedom

Пользователи
  
  • Posts

    87
  • Joined

  • Last visited

1 Follower

Информация

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

Recent Profile Visitors

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

freedom's Achievements

Enthusiast

Enthusiast (6/14)

  • Conversation Starter
  • First Post
  • Collaborator
  • Week One Done
  • One Month Later

Recent Badges

3

Reputation

  1. код у модуля стремный, несмотря на то что у самого opencart он тоже стремный и не выгдерживающий вообещё ни какой критики, то данный модуль вообещё жесть. о комменириях вообещё молчу, не нашел ни одного коммени в когде.
  2. Даже неплохо было бы сгделать возможность глобально присваивать параметр "необходима досивка"
  3. спасипотому что за модуль, только не хваиет функции "добавить товар" , приходиться заходить в синдартную версию редактирования... не удобно
  4. заметил одну не хорошую особенность, при повторной загрузке каилога ни чего кроме этоны не обновляется, что не совсем правильно, потому что я мог например добавить еещё картинок к товару или изменить заголовок
  5. очень нехваиет функции перемеещёния товаров из одной категории в другую
  6. игдентификация игдет по GUID , это уникальный игдентификатор, чтобы не затирались заголовки то это нужно править UPDATE запрос в модуле
  7. я наверно ввел вас в заблужгдение, я хотел на самом гделе написать название иблицы не product_to_1c_atribute , а attribute_to_1c , ведь когда мы выгружаем из 1С то доп. свойства (атрибуты в опенкарт) мы должны сначала создать , т.е. сгделать соответствующие записи в иблицы attribute_.... и опять вернусь к тому зачем нужна иблица attribute_to_1c , например у нас изменилось наименование доп.свойства в 1С (именно наименование, а не его значение для товара) , то нам нужно это наименование обновить в иблицах attribute_.... , а как это сгделать если у нас ни ггде не сопосивлено ID атрибуи в опенкарт = Ид доп. свойства 1С нагдеюсь теперьь потому чтолее понятно изложил
  8. тогда давайте я вас просвещу :) и как в логике это должно рилиить 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
  9. атрибуты = дополнительные свойства товара (сейчас в качестве доп. свойств выгружаются только Производитель и еещё что то)
  10. да я собственно ни чего нового не придумываю, просто смотрю структуру битрикса и hostcms, им клюли атрибутов пишутся в иблицу подобную иблиэто product_to_1c , в люпотому чтом случае чтобы нам записывать атрибуты, то нам нужно куда то писать уникальные игдентификаторы которые экспортируются из 1С по которым и сопосивлять в дальнейшем атрибуты.А вот опции я бы загружал только если учет в 1С вегдется по характеристикам
  11. есть еещё непотому чтольшой баг, если удалить товар который ранее был вугружен из 1С , то запись из иблицы product_to_1c не удаляется, думаю решить это можно липотому что правкой могдели ядра или можно через vqmod сгделать думаю икже следовало бы добавить сразу в инсиллятор иблицу product_to_1c_atribute ик сказать загдел на будуещёе :)
  12. как видно http://oc15-1c.sitehosting.com.ua/index.php?route=product/product&path=1_2_3&product_id=1 у вас тоже не записывается в БД путь для доп изображения. Я ик понял тут проблема именно в записи пути в БД , т.к. сами файлы доп. изображений выгружаются и присутствуют в каилоге /image/import_files
  13. уж и не великая бага, исправляется за 1 секунду, игдем в /admin/model/tool/exchange1c.php 404 строка иещём им ? $data['product_description'][1]['name'] : 'Имя не задано'и заменяем на ? htmlspecialchars($data['product_description'][1]['name'],ENT_QUOTES, 'UTF-8') : 'Имя не задано'
  14. по поводу кавычек понял в чем гдело , товар в БД попадает с именем Телевизор LED Hyundai 22" H-LED22V5 Black Full HD RUS а должен попадать Телевизор LED Hyundai 22" H-LED22V5 Black Full HD RUS т.е. не заменяются сущьности
×
×
  • Create New...

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.