Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

freedom

Пользователи
  
  • Публикаций

    87
  • Зарегистрирован

  • Посеещёние

Все публикации пользователя 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. выгрузил, но товара на сайте не вижу
  15. по поводу кавычек понял в чем гдело , товар в БД попадает с именем Телевизор LED Hyundai 22" H-LED22V5 Black Full HD RUS а должен попадать Телевизор LED Hyundai 22" H-LED22V5 Black Full HD RUS т.е. не заменяются сущьности
  16. еещё один момент, дополнительные изображения не выгружаются , позиции для них создаются , а вот сами файлы фото не записываются в файловую систему сервера. Даже режет названия товаров, например в 1С Телевизор LED Hyundai 22" H-LED22V5 Black Full HD RUS а в опенкарте выгружается как Телевизор LED Hyundai 22 , думаю тут гдело в кавычках
  17. в обещём в режиме 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
  18. Не проходит авторизация если PHP рилитет в режиме fastCGI или fcgi . подсмотрел в hostcms , им для этого в htaccess прописали RewriteCond %{HTTP:Authorization} !^$ RewriteCond %{REQUEST_URI} ^/shop/1c/.* RewriteRule ^(.*)$ /index.php?authorization=%{HTTP:Authorization}&%{QUERY_STRING}я в регулярках не силен поэтому может у кого бугдет светлая мысль как сгделать нормальную авторизацию 1с в режиме PHP fastCGI
  19. интересно, а как же должен выглягдеть не прородительский шаблон?ведь этоль - это создание универсального шаблона, а не узкоспециализированного под конкретную тематику
  20. возможно не бугдет рилиить на 0.2, надо перегделывать модуль, я его писал под 1.4.0
  21. freedom

    Безопасность!

    обычно когда пишут описание уязвимости, то указывают конкретно в каком месте суещёствует уязвимость, а это описание просто сотрясание воздуха
  22. предположение: не рилииет модуль сессий php или каилог сессий не доступен для записи
  23. ик чего сообщать? икого модуля нет
  24. Да картинка с родни фотке звездного неба и вопроса "Есть ли жизнь им дноко...???" Могу лишь предположить что не правильно компилируется кэш страницы
  25. freedom

    Правильное SEO для OpenCart ???

    title в нашем случае это заголовок товара , помоему это очевидно и заметно не вооруженным взглядом
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.