toporchillo

ocStore Team
  • Публикаций

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

  • Посещение

Весь контент toporchillo

  1. https://opencartforum.com/files/file/670-%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82-%D0%B2-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%BC%D0%B0%D1%80%D0%BA%D0%B5%D1%82/
  2. Напоминаю, что модуль отвечает за правильное формирование файла экспорта в Яндекс.Маркет. Если вы экспортировали данные в Яндекс, Яндекс экспорт принял, то работа модуля считается успешной. Почему товары из экспорта не попадают в Яндекс.Маркет - спрашивайте у техподдержки Яндекса.
  3. Версия 1.8.5

    Модуль формирует YML-файл для экспорта каталога товаров на такие площадки как Яндекс.Маркет, torg.mail.ru, prom.ua, price.ru, poisk-podbor.ru, hotprice.ua, nadavi.net, vcene.ua, prom.ua и многие другие Совместим с версиями OpenCart (ocStore, МахiStore) 1.4.x, 1.5.x. Версия для OpenCart 2 доступна здесь Как быть, если вдруг что-то не работает: Читать FAQ - Частые вопросы Не надо сразу создавать задачу в CRONе, не надо сразу отдавать ссылку на YML Яндексу 1. Откройте ссылку на YML в браузере, щелкните правой кнопкой мышкой, выберете "исходный код". 2. Вы увидите то, что сформировал скрипт. Возможно там будут сообщения об ошибках PHP. Текс ошибки прекрасно ищется в гугле или в теме поддержки. 3. Если вы не можете самостоятельно разобраться с ошибкой, то пришлите ссылку на экспорт. Сообщения без ссылки будут игнорироваться! 4. Мне не достаточно прислать только результат работы Яндекс-валидатора. Внимание! Помощь в настройке, установке, объяснение "а как сделать" не входит в стоимость модуля. Ответы на большинство вопросов можно найти в теме поддержки форума. Если вы считаете, что в модуле ошибка - пишите автору на почту. Письма без указания ссылки на YML и ошибки типа "белый экран" или "ничего не работает" будут игнорироваться. Отличия от стандартного модуля: Демо: экспорт (YML), админка (login: demo, пароль: demo) Скрипт export/yandex_yml.php предназначен для запуска по планировщику. Его запускать через SSH. Он сформирует файл экспорта export/yandex_yml.xml, который и нужно отдавать Яндексу. Не забудьте дать папке export права на запись 777. Такой способ экспорта предпочтительнее, чем по прямой ссылке /index.php?route=feed/yandex_yml Пример настройки запуска скрипта по расписанию для хостинга jino.ru 1. Читаем общее описание запуска скриптов по расписанию http://www.jino.ru/support/faq/cron/ 2. В командной строке запуска скрипта пусть к PHP должен быть полный. Для хостинга jino.ru путь такой: 3. У меня для запуска скрипта вот такая командная строка: /usr/local/bin/php-cli ~/domains/toporchillo.jino.ru/ocstore/export/yandex_yml.php Возможные проблемы и их решение. 1. XML-экспорт открылся быстро, но он пустой Убедитесь, что статус модуля в его настройках "Включен", убедитесь, что вы выбрали хотя бы одну категорию с товарами для экспорта 2. XML-экспорт долго открывается, но он пустой, либо ошибка: Maximum execution time of 30 seconds exceeded У вас так много товаров, что скрипт не успевает сформировать экспорт за отведенное время. Формируйте экспорт через SHELL 3. Данные в форме настройки модуля сохраняются не полностью. Увеличте ваш параметр max_input_vars в настройках PHP 4. В форме настройки модуля пустой список валют Проверьте ваши валюты. Их коды должны быть ISO-кодами.: RUB, UAH,... 5. Что такое SHELL? Вы конечно знаете, что такое командная строка. В UNIX-системах она называется SHELL. Также существует протокол SSH, который позволяет запускать команды в командной строке (SHELL) удаленного сервера. Для доступа по протоколу SSH можно например использовать программу PuTTY Интерпретатор PHP тоже можно запускать из командной строки. В качестве параметра надо передать файл с PHP-скриптом, который должен выполнить интерпретатор. В данном случает надо запускать команду: полный_путь/php полный_путь/yandex_yml.php Интерпретатор PHP запустит PHP-скрипт, который в свою очередь создаст XML-файл экспорта. Кроме того, в UNIX-системах существует планировщик задач, который называется CRON. Он позволяет запускать команды SHELL по расписанию. В нашем случае нужно запускать команду: полный_путь/php полный_путь/yandex_yml.php На многих хостингах управление планировщиком сделано через веб-интерфейс. Надо лишь вписать команду и указать периодичность запуска, доступ через SSH при этом не требуется. Иногда Яндекс требует, чтобы при переходе по ссылке из Маркета, у товара были сразу выбраны опции. Поэтому модуль формирует ссылку на товар с хэш-кодами (#12-13). Если внедрить на страницу товара вот этот Javascript: <script type="text/javascript"><!-- $(document).ready(function() { var hash = window.location.hash; if (hash) { var hashpart = hash.split('#'); var vals = hashpart[1].split('-'); for (i=0; i<vals.length; i++) { $('#product').find('select option[value="'+vals[i]+'"]').parent().find('option').removeAttr('selected'); $('#product').find('select option[value="'+vals[i]+'"]').attr('selected', true).parent().trigger('change'); $('#product').find('input[type="radio"][value="'+vals[i]+'"]').attr('checked', true).trigger('click'); $('#product').find('input[type="checkbox"][value="'+vals[i]+'"]').attr('checked', true).trigger('click'); } } }) //--></script> , то при переходе по ссылке будут выбраны сразу нужные опции. Может не работать для нестандартной темы. Демо: http://toporchillo.myjino.ru/ocstore/index.php?route=product/product&path=20&product_id=35#18#21

    500.00 руб

  4. https://opencartforum.com/files/file/650-%D0%B0%D0%B2%D1%82%D0%BE%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA-%D0%BD%D0%B0-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D1%8B/Автолинковка
  5. Товарищ агропром, также известный как Михаил Онищенко (???) https://opencartforum.com/user/17049-agroprom/ он же https://www.free-lance.ru/users/Fermeram/ Вот этот юзер, который любит нанимать исполнителей на те задачи, которые самому не по зубам, а потом кидать. Вот этот проект он создал на Фрилансе. Мной были выполнены все работы после чего заказчик пропал. Денег я не получил ни копейки. https://www.free-lance.ru/projects/986471/dorabotat-opencart.html На фрилансе за ним числятся еще проекты. Интересно, он только меня кинул? Ну чтож, теперь интернет-магазин http://alfa-avto.com/, который он тут активно продвигает, запущен. А я сделаю все, чтобы ложных заказов было побольше и работа менеджеров, оформляющих заказы была еще интересней.
  6. Какая версия OpenCart?Подключение модуля Assist вопросов не вызывает. А какой нужен калькулятор доставки? Какой почтовой службой?
  7. Вот это деловой подход. Какая версия PHP установлена? Это, как ни странно, важно.
  8. Smarty хорош, но его сила в эскейпах, форматировании дат и т.л. когда можно {$str|escape:html} делать. Но OpenCart все это делает на уровне контроллера-шаблонизатора. Так же смарти позволяет делать {php}...{/php}, а это уже не очень.Есть еще шаблонизатор mustache. Плюс в том, что его синтаксис минимальный, но все что надо есть. Вот он точно дисциплинирует. А еще есть blitz. Минус в том, что нужно ставить отдельный php-модуль, но летает.
  9. Я имел в виду дефолтную тему разбить на файлы более мелко с инклудами внутри шаблонов. Так же вынести javascript отдельно. (Например в checkout.tpl) его много. Тогда дизайнеру будет проще заниматься кастомизацией. Но в крайность, когда html полностью формируется в методе контроллера (или библиотеки визуальных элементов) не в падать.Сейчас если верстальщик сверстал дизайн-шаблон в своем css, то натянуть его на openCart ну очень трудно. И нормальный способ создать свою тему - это колдовать с CSS, а трогать html глобально ну очень тяжело.
  10. По поводу способа правки шаблонов через preRender тоже против, когда через regexp-ы. На уровне данных, передаваемых в шаблон - за. Еще, я считаю нужно, сделать формирование шаблона двух-трехуровневым, т.е. чтобы из одних вьюх можно было инклудить другие. Это позволит выделить базовые элементы из шаблонов и при изменении темы кастомизировать их не только на уровне CSS. Сейчас, например, чтобы сделать выбор страны в форме заказа-регистрации не в виде селектора, а в виде например текстового поля с комплишином надо попотеть, ну либо сделать jQuery-хак. Если же вынести однотопные элементы в отдельные шаблоны, то можно будет более гибко настраивать дизайн, да и верстальщик не придет в ужас, увидев тучу <?php в шаблонах.
  11. Толсто тролишь. Передо мной заказчики еще не ставили такую задачу. Зачем мне делать то, что мне не нужно?
  12. Если магазины на разных доменах, то сделать через сессии, куки и т.д. нельзя. Теоретически можно хранить данные сессии в базе. Это поможет, если у обоих магазов общая база. Проблема в передаче SESSION_ID между сайтами. А вот как это сделать, думай сам. Если не придумаешь - то за дело лучше не берись.
  13. Еще немного и компоненты (табы, таблицы и т.д. будут генериться почти без шаблонов - получится что-то типа Microsoft Foundation classes). Меньше логики в шаблоны! Вот шаблонизатор mustache не зря такой минималистичный.
  14. А че, в вашей мегастудии http://geniusweeb.com нет специалистов?
  15. Да я знаю, что есть. Сам достаточно работал с Zend, но осталось прикрутить к OpenCart/
  16. Вот под стандартный многошажный заказ https://opencartforum.com/topic/13298-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BC%D0%B0%D1%80%D0%BA%D0%B5%D1%82-%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7/page__hl__%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81__fromsearch__1
  17. Привет, я тоже думал о некой библиотеке, которая позволит сделать разработку под OpenCart максимально простой. Поддерживаю идею по поводу того, чтобы сделать некую библиотеку, которую бы использовали модули. Что в нее можно включить тут уже обсуждались. Тут не надо ограничиваться только hook-ами. Я уже тоже начал работать в этом направлении, но немного в другом ключе. Начал понемногу реализовывать идею с более умной обработкой форм и не только. Например добавление метода public function getAll() { return $this->data; } к классу Language позволяет конкретно сократить код модулей.Ибо от $this->data['text_checkout_option'] = $this->language->get('text_checkout_option'); $this->data['text_checkout_account'] = $this->language->get('text_checkout_account'); $this->data['text_checkout_payment_address'] = $this->language->get('text_checkout_payment_address'); $this->data['text_checkout_shipping_address'] = $this->language->get('text_checkout_shipping_address'); $this->data['text_checkout_shipping_method'] = $this->language->get('text_checkout_shipping_method'); $this->data['text_checkout_payment_method'] = $this->language->get('text_checkout_payment_method'); $this->data['text_checkout_confirm'] = $this->language->get('text_checkout_confirm'); в тексте контроллеров уже тошнит.Можно объединить усилия, и может быть, в перспективе организовать git-репозиторий. Идея по поводу подключения этой библиотеки: надо сделать ее наиболее минимальной. Т.е. сделать в библиотеке файлик init.php, который бы инклудил все части библиотеки и ее инициализировал. Чтобы подключение библиотеки не менялось от одной ее версии к другой. form.php
  18. Модуль "ВИкипедия"

    Появился модуль https://opencartforum.com/files/file/650-%D0%B0%D0%B2%D1%82%D0%BE%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA-%D0%BD%D0%B0-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D1%8B/
  19. Для SEO может пригодится модуль https://opencartforum.com/files/file/650-%D0%B0%D0%B2%D1%82%D0%BE%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA-%D0%BD%D0%B0-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D1%8B/
  20. Берется подходящий модуль фильтра (который позволяет искать по вашим параметрам), а потом делается красивый дизайн и красивый сдвигания и т.д. Ищите модуль, а "нарядить" уже проще.
  21. О, у нас появился Оракул. Он по адресу определяет причины из-за которых сайт медленно работает. Оптимизация без логов - это лечение без диагностики.
  22. Индексирование - это хорошо. Но оптимизировать тоже надо не все подряд. У вас 10000 юзеров на сайте?Зачем это? LTER TABLE `user` ADD INDEX ( `username` ) ; ALTER TABLE `user` ADD INDEX ( `password` ) ; ALTER TABLE `user` ADD INDEX ( `email` ) ; А это зачем? ALTER TABLE `oc_product` ADD UNIQUE INDEX ( `oc_product_id` ) ; oc_product_id вроде и так PRIMARY KEY Зато может быть стоит добавить уникальный индекс для seo_url. cmd предлагал сделать триггеры или иные механизмы на уровне БД, которые позволят делать каскадное удаление. Чтобы вместе с удаление записи из таблицы товаров, еще куча всего удалялось. Но не уверен, что это ускорит работу. P.S. Мечтаю провести профилирование реального интернет-магазина, чтобы выяснить, какие же в OpenCart узкие места.
  23. В плане архитектуры vQmod действительно уродство, но он позволяет откатиться, если модуль не подошел. Без нормального механизма, который бы позволял вносить обратимые изменения не получится ничего. OpenCart в плане объектов - это капец. Таких больших методов в контроллерах еще поискать надо. От них наследоваться бессмысленно. cmd, библиотека давно напрашивается и ее написание здорово ускорит разработку новых дополнений, но не изменит существующей архитектуры. Бесспорно, будет легко плодить формы в админке, будет легко делать новые хитрые шаблоны. Но для добавления нового OpenCart достаточно открыт: Чтобы добавить какой-то инфоблок в OpenCart уже есть механизм - модули Чтобы прикрутить способы оплаты, доставки или экспорта - уже есть места, куда их приткнуть Проблема начинается тогда, когда надо изменить ПОВЕДЕНИЕ т.е. контроллеры у которых методы - портянки кода. Приходится переписывать контроллеры либо полностью, либо vQmod'ами. ИТОГО Пока генеральная версия OpenCart не примет волевое решение открыть еще один способ изменений, помимо vQmod-а, мы мало что придумаем с изменением архитектуры. Если только свою сборку и гнаться за оригинальным OpenCart. Но чем больше изменений, тем сложнее будет угнаться. И в итоге полностью откажемся от OpenCart и будем дорабатывать свою сборку отказавшись от тучи платных-бесплатных модулей. И тем смым выйдем из community разработчиков. А вот над библиотекой полезностей стоит подумать.