Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

freedom

Users
  
  • Posts

    87
  • Joined

  • Last visited

Everything posted by freedom

  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 т.е. не заменяются сущьности
  15. еще один момент, дополнительные изображения не выгружаются , позиции для них создаются , а вот сами файлы фото не записываются в файловую систему сервера. Также режет названия товаров, например в 1С Телевизор LED Hyundai 22" H-LED22V5 Black Full HD RUS а в опенкарте выгружается как Телевизор LED Hyundai 22 , думаю тут дело в кавычках
  16. в общем в режиме fastcgi авторизация заработала, но товары не выгружаются, 1С выдает Выгружено товаров: 1 Выгружено картинок: 2 Выгружено предложений: 0 Произошла ошибка на стороне сервера. Получен неизвестный статус импорта. Обмен не выполнен Ответ сервера: Выгрузка товаров завершена с ошибками!!!в логах opencart2012-01-09 18:17:29 - PHP Warning: Invalid argument supplied for foreach() in /var/www/yarit/data/www/yar-it.com/admin/model/tool/exchange1c.php on line 19 В режиме модуля Apache также не все гладко, 1С выдает: Выгружено товаров: 1 Выгружено картинок: 2 Выгружено предложений: 0 Получен расширенный статус успешного завершения сеанса Ответ сервера: <b>Warning</b>: chmod() [<a href='function.chmod'>function.chmod</a>]: Operation not permitted in <b>/var/www/yarit/data/www/yar-it.com/admin/controller/module/exchange1c.php</b> on line <b>279</b> Получен расширенный статус успешного завершения сеанса Ответ сервера: <b>Warning</b>: chmod() [<a href='function.chmod'>function.chmod</a>]: Operation not permitted in <b>/var/www/yarit/data/www/yar-it.com/admin/controller/module/exchange1c.php</b> on line <b>279</b> Произошла ошибка на стороне сервера. Получен неизвестный статус импорта. Обмен не выполнен Ответ сервера: Выгрузка товаров завершена с ошибками!!!в логах opencart2012-01-09 18:21:39 - PHP Warning: chmod() [<a href='function.chmod'>function.chmod</a>]: Operation not permitted in /var/www/yarit/data/www/yar-it.com/admin/controller/module/exchange1c.php on line 279 2012-01-09 18:21:39 - PHP Warning: chmod() [<a href='function.chmod'>function.chmod</a>]: Operation not permitted in /var/www/yarit/data/www/yar-it.com/admin/controller/module/exchange1c.php on line 279 2012-01-09 18:21:40 - PHP Warning: Invalid argument supplied for foreach() in /var/www/yarit/data/www/yar-it.com/admin/model/tool/exchange1c.php on line 19
  17. Не проходит авторизация если PHP работет в режиме fastCGI или fcgi . подсмотрел в hostcms , там для этого в htaccess прописали RewriteCond %{HTTP:Authorization} !^$ RewriteCond %{REQUEST_URI} ^/shop/1c/.* RewriteRule ^(.*)$ /index.php?authorization=%{HTTP:Authorization}&%{QUERY_STRING}я в регулярках не силен поэтому может у кого будет светлая мысль как сделать нормальную авторизацию 1с в режиме PHP fastCGI
  18. интересно, а как же должен выглядеть не прородительский шаблон?ведь цель - это создание универсального шаблона, а не узкоспециализированного под конкретную тематику
  19. возможно не будет работать на 0.2, надо переделывать модуль, я его писал под 1.4.0
  20. обычно когда пишут описание уязвимости, то указывают конкретно в каком месте существует уязвимость, а это описание просто сотрясание воздуха
  21. предположение: не работает модуль сессий php или каталог сессий не доступен для записи
  22. Да картинка с родни фотке звездного неба и вопроса "Есть ли жизнь там далеко...???" Могу лишь предположить что не правильно компилируется кэш страницы
  23. title в нашем случае это заголовок товара , помоему это очевидно и заметно не вооруженным взглядом
×
×
  • 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.