Ruslan Brest, rb.labtodo.com
Backend web-developer: CodeIgniter, PHP, MySQL, OpenCart, PrestaShop, MaxSite CMS

Перевод Opencart 1.5.x

Русский перевод Opencart: v1.5.0.5 - 1.5.5. Информация о других переводах (русский, украинский язык)

Quickcheckout: one-page simple checkout

Quickcheckout: one-page simple checkout

CKeditor в Opencart 2.0 заменили на Summernote

В Opencart 2.0 в админ-части заменили WYSIWYG редактор: CKeditor убрали, вместо него теперь используется Summernote.

http://hackerwins.github.io/summernote/

Появился в доступе релиз Opencart v2.0 ALPHA

7 августа 2014 г. Ruslan Brest E-commerce » OpenCartОбсудить

Доступен релиз Opencart v2.0 ALPHA.

Скачать можно здесь: https://github.com/opencart/opencart/releases

Либо берёте последнее состояние проекта из ветки master - там могут быть ещё какие-то изменения, не отмеченные тегом следующей альфы или релиза.

Разумеется, это всё не для живых магазинов, а для разработчиков и нетерпеливых экспериментаторов. Приглашают тестировать и сообщать об ошибках.

Также оказалось, что у Opencart появился ещё один багрекер помимо Github-а: https://opencart.atlassian.net/

Красивенький, конечно. Но решение странное - лучше бы они разобрались и обустроили свой Github Issues раздел (метки, milestones), и начали наконец-то там вести нормальную работу, связывая коммиты с номерами задач и багов. Хотя, конечно, они вполне могут связать гитхаб со своим атлассианом и с ним коммиты связывать через номера задач. Но думаю, это из области несбыточных надежд - увидеть нормальный процесс по более-менее общепринятым практикам.

Зарегистрировавшись в новом багтрекере, появится возможность

  • создавать задачи (багрепорты)
  • комментировать
  • голосовать за задачи

С плагином "Jira Capture" можно облегчить создание багрепортов: сделать скриншот, откомментирвоать проблему и даже включить информацию об окружении (операционная система, версия броузера, размер окна, экрана, плагины и т.п.)

Фичреквесты (предложения) в этом багтрекере не приветствуются, только ошибки. Для запросов на новые идеи Opencart планирует сделать ещё один сайт, где наверное будет система голосования за то или иное предложение. Подробностей не сообщают, пишут лишь, что это будет сделано после выпуска релиза версии 2.0, чтобы сделать роадмап для v2.1.

vQmod, ocmod

Qphoria написал, что сейчас будет рассматривать и сравнивать ocmod" со своим vQmod. OCMOD - это новый встроенный механизм модификаций опенкарт, аналог vQmod. Если "ocmod" окажется достаточно хорош, vQmod вряд ли будут портировать на v2.0:

We are looking at ocmod and vQmod to see what has changed and if it is worthwhile to port vQmod to 2.0 or not or if ocmod is good enough.

Также напомню, что разработчик JNeuhoff уже предлагал Даниэлю готовое решение, которое интегрировало vQmod в Opencart. Было это несколько месяцев назад. Но здесь вечное "мы пойдём своим путём" - сначала декларировалось, что "ocmod" будет сильно упрощённой версией синтаксиса vQmod (синтаксис несовместим при этом). Потом постепенно по мере натыкания на разные ситуации и вопросы от разработчиков возможности "ocmod" всё болше и больше подтягивались к vQmod... Бред, в общем. То же самое, но с другими колсами, где преимущества и зачем убирать работающий инструмент, заменяя его на тот, под который все расширения переписывать придётся, -- вопрос открытый. Я смысла таких решений не понимаю.

На форуме пока предостерегают от бурного использования OCMOD, поскольку он ещё будет подвергаться модификациям.

Немного о новой системе модификаций написано в Github's Opencart Wiki:

Fotomag.ua - всё?

AIN.UA сообщает о финансовых проблемах Fotomag.ua. Около года назад, когда проект был продан группе украинских бизнесменов, в этом интернет-магазине работало 300 человек. Сейчас уволены все, кроме IT-отдела. И, возможно, проект попробуют переделать в торговую площадку-аукцион наподобие Aukro.ua.

Полагаю, конкурировать "лоб в лоб" с Аукро - затея странная. Но может им удастся предложить покупателям какие-то интересные альтернативы? (Уж кто-кто, а конечные потребители от конкуренции только выиграют.) Впрочем, сильно в этом сомневаюсь, особенно если оглянуться на последние лет 5-10 жизни и "развития" Фотомага. Но посмотрим - вдруг чудеса случаются?

И, к слову, всем тем, кто в темах по юзабилити любит приводить примеры Фотомага и Розетки как бесспорных лидеров рынка -- вот она, отрезвляющая таблетка реальности. Размышляйте.

Opencart разослал продавцам расширений предупреждение о недопустимости ссылок на свои магазины

Opencart.com разослал всем продавцам расширений, которые пользуются для продажи разделом расширений на указанном сайте, письмо с предупреждением о недопустимости рекламирования своих сайтов в описаниях модулей и возможности покупки расширений напрямую, минуя отчисления площадке Opencart.com.

Отчисления в 20% от цены платных модулей идут на поддержку развития Opencart. Поэтому наличие в описаниях ссылок на сайты разработчиков, где модули можно приобрести напрямую или со скидкой (призывы к этому некоторые авторы модулей пишут прямо в описаниях, размещая таким образом их на сайте opencart.com), владельцами Опенкарт категорически не приветствуются.

Разрешаются ссылки на демо-сайты и на сайты техподдержки (саппорт-тикеты). Но озвучено условие, что на этих сайтах не должно быть возможности купить модули. Дополнительно просят использовать target="_blank" для своих ссылок.

В письме предлагается сейчас же удалить из описаний ссылки, нарушающие эти правила. В скором времени они начнут процесс проверки, а также планируют использовать помощь сообщества в обнаружении нарушений.

В письме также сообщается о недавно добавленной возможности покупать на сутки топ-позиции для своих модулей: при этом они будут крутиться в баннер-карусели, которую мы все видим в самом верху категорий на сайте расширений, на главной странице сайта, а также предлагаться новым пользователям в приветственном письме.

Одно из таких писем я уже видел несколько дней назад - в конце расположен блок с рекламой нескольких (то ли 4, то ли 6) модулей. Выглядит HTML-письмо симпатично, мне понравилось.

Описание этого рекламо-предложения слегка различается (на данный момент я встречал его трижды: в блоге, в описании функции "Promote Extension" в акаунте продавца, теперь вот ещё в письме). В основном пишут о рекламе на главной странице. Но в блоге, если не ошибаюсь, было и про мелькающие блоки вверху страниц категорий и поиска.

Цена такой рекламы - $50 в сутки (по $35 на выходных). В день можно рекламировать до трёх своих модулей. Выбирается модуль и дата.

Похоже, в штате у них появился человек, ответственный за дизайн (заметно и по дизайну v2.0, и по улучшающимся письмам) и развитие продаж.

Новая система модулей OCMOD - Opencart Modification System

Начало появляться описание формата и отличий новой системы расширений OCMOD от использовавшейся ранее разработки: широко известного VQMOD, автором которой является Qphoria.

Суть системы расширений осталась та же самая, но XML форматы VQMOD и OCMOD отличаются, поэтому модули придётся переписывать. OCMOD - упрощённая версия VQMOD. В админке также добавлены удобства для загрузки новых OCMOD-расширений (Extensions / Extension Installer).

Например, основные отличия OCMOD от VQMOD: имеются операторы Replace, Before, After, Regex, Offset, Limit, отсутствуют ignoreif, log.

Отличается и работа offset.

Модули могут состоять из одного файла (должен иметь расширение .ocmod.xml) или нескольких, упакованных в архив с расширением .ocmod.zip. В архиве могут находиться XML, SQL и PHP файлы:

  • upload/*
  • install.sql
  • install.php
  • install.xml

Все файлы из папки `upload` будут скопированы в папку, куда установлен Opencart.

В install.sql можно добавить все необходимые SQL-запросы (create, drop, insert, update), которые должны быть исполнены при установке модуля. Каждый запрос должен заканчиваться символом ;.

Если модуль требует каких-то дополнительных действий для установки, PHP код надо разместить в файле `install.php`.

Остальные подробности можно будет узнать позже -- либо по мере появления новой документации по адресу https://github.com/opencart/opencart/wiki/Modification-System, либо путём изучения появляющихся модулей.

См. также:

  • Override Engine + VQmod for OpenCart 2.0 (J.Neuhoff). Это решение позволяет получить как новую систему Override Engine (OE), так и поддержку всех старых vQmod расширений (OE хорош именно для модулей, а вот для изменения шаблонов способ vQmod пока наиболее подходящий; плюс совместимость). Всё доступно свободно для скачивания и эксперименто. Предлагали Даниэлю. Кстати, автор vQmod (Qphoria) тоже высказался в топике за встраивание этого варианта OE+vQmod в Opencart 2.0. Он сказал: "Согласен. Я хочу, чтобы OE включили в ядро Opencart, а vQmod остался внешним расширением, каким он всегда был. OE или правильная система хуков -- это что-то, что ядро должно предлагать из коробки, тогда как vQmod был создан лишь как костыль, исправляющий отсутствие чего-то подобного в ядре. vQmod до сих пор имеет огромный смысл в Opencart, но я не вижу смысла в добавлении урезанного его варианта вместо того, чтобы сделать правильную систему."

Другими словами странность того, что происходит, очевидна всем разработчикам, кроме Даниэля.

Тотальные ограничения для анонимных пользователей ЯД, QIWI и т.д. с 16 мая

Яндекс.Деньги сообщают о новых ограничениях, которые вступят в силу 16 мая, со ссылкой на законы 115-Ф3 и 161-Ф3 (т.е. это касается всех российских платёжных систем).

Анонимным пользователям станет практически вообще ничего недоступно: ни переводы другим пользователям, ни получение переводов от них, ни вывод в банки и на карточки, ни покупка в нероссийских магазинах. У россиян 2 варианта: деанонимизация с помощью небольшой формочки на сайте (ФИО, номер паспорта и дата выдачи) или полная идентификация.

У остальных - только идентификация. В информации об офисах Яндекса (там можно было пройти идентификацию) исчезли Киев, Одесса, Симферополь, а также Екатеринбург, Минск, Новосибирск, Казань, Ростов-на-Дону. Остались только Москва и Питер... И есть ещё вариант по почте и с нотариусом.

В общем, насколько понимаю, в России без паспорта шагу ступить нельзя и гайки закручиваются по всем фронтам. Мобильный? Давай паспорт. Виртуальные деньги даже для какой-то мелочёвки? Давай паспорт. Прослушка? Давно. Уже и скайп признался, что полгода способен хранить все разговоры. GPS? Скоро, наверное, спортивные часы, смартфоны, навигаторы и GPS приёмники тоже будут регистрироваться по паспорту.

Подробнее о всех новых ограничениях Яндекс.Денег:

https://money.yandex.ru/doc.xml?id=526543

Обсуждения:

Opencart 1.5.6.2

12 апреля 2014 г. Ruslan Brest E-commerce » OpenCartОбсудить

Пару дней назад (10 апреля) втихомолку выложен Opencart v1.5.6.2. По ченджлогу - ничего особенного, разве что исправление некоторых ошибок:

Updates to the Paypal Express module to fix some issues during checkout.
Changed UTF-8 helper file to new code and updated the installer to check for iconv function or mbstring extension.
More info including commit links can be found in the change log: https://github.com/opencart/opencart/blob/v1.5.6.x/changelog.md
MySQLi database support available at install.

То есть исправлены какие-то ошибки

  • в email (поля "from" и "mail-to");
  • есть изменения в system/helper/utf8.php (которые, судя по багрепортам, могли приводить к проблемам с изображениями в файл-менеджере - сейчас вроде бы исправлено)
  • в инсталляторе добавлена проверка на наличие на сервере "iconv" и "mbstring".

В изменения не вглядывался. Остальное для рунета мало актуально: Paypal Express, Klarna, OpenBay Pro.

Ещё на гитхабе заметна работа по интеграции созданию "своего vQmod велосипеда". Остальное - какие-то мелочи, в голове не задерживающиеся. Хотя я туда последнее время мало заглядывал. Может есть ещё что-то, приближающее (или наоборот, задерживающее) версию 2.0.

Вот так примерно выглядят метания между встраиванием vQmod и своей реализацией:

  • b81ee97 2012-08-24 16:36:02 (Edgar gabaldi) Named vqmods columns
  • d731ba9 2012-08-24 16:38:29 (Edgar gabaldi) Merge branch 'vqmod'
  • 7a64c34 2013-02-15 23:20:26 (Daniel Kerr) started adding my own version of vqmod.
  • d02ec9b 2013-02-18 12:51:13 (Daniel Kerr) started to add my own version of vqmod. trying to get the code into a single class.
  • 4f64f0d 2014-04-10 14:35:00 (Daniel Kerr) changed the system to use vqmod
  • 7267145 2014-04-10 17:13:32 (Daniel Kerr) more vqmod work done
  • f14c938 2014-04-10 18:28:07 (Daniel Kerr) more vqmod stuff done
  • 4f2498b 2014-04-10 23:46:41 (Daniel Kerr) updated the vqmod code but i'm probably going to undo the vqmod changes and use the system i had before. vqmod seems to have to many features that are just not required.
  • 774ab43 2014-04-10 23:52:16 (Daniel Kerr) vqmod removed, using my own again

"Свой собственный vQmod" (modifications в терминологии Опенкарт) будет с другой реализацией (хоть и похожей на vQmod) - и насколько вижу, речь о совместимости со старыми расширениями там не идёт.

Знакомим `phpcs` (PHP CodeSniffer) и Sublime Text со стандартом оформления кода FuelPHP

UPD: При ближайшем рассмотрении оказалось, что отличий от PSR2 больше, чем табы вместо пробелов. Чтобы сделать автоматическую проверку, надо ещё многое переделать, а где-то и дописать. Так что я поспешил: с опубликованным вариантом проверять синтаксис PHP CodeSniffer'ом на соответствие правилам пока что неудобно.


Самый простой способ - поставить в редакторе/IDE правила автоформатирования PSR-2 и заменить использование пробелов в отступах на табуляцию (этим стандарты оформления кода, принятые в FuelPHP, отличаются от PSR-2). Заодно можно включить отображение пробелов и табуляций.

Это позволит писать новый код по правилам, но огрехи в старом могут оказаться незамеченными.

Для автоматизации проверки кода существуют разные инструменты: примеры (и важность с удобством применения этого непосредственно в редакторах/IDE) есть в статье http://philsturgeon.co.uk/blog/2013/08/php-static-analysis-in-sublime-text.

Обычно они дают возможность запустить проверку, либо настроить её и показ ошибки при сохранениях файла. Последнее очень удобно, т.к. помогает исправлять обнаруженные ошибки по ходу дела и без дополнительных усилий. Ниже - рецепт по автоматизации для ST3 (а может и ST2, если плагин совместим).

Знакомим phpcs и ST3 со стандатами оформления кода FuelPHP

  • sudo apt-get install php-codesniffer
    • phpcs -i - показать список установленных стандартов. Нужен psr2 (PSR-2)
    • Если его нет - обновляем полностью CodeSniffer (просто скопировать оттуда папку с PSR2/1 стандартом недостаточно)

    • Это, конечно, грубовато - обновлять напрямую, в обход apt-get , но он считает, что установлена самая свежая версия и более правильного способа я сейчас не знаю.

      cd ~/Downloads
      wget https://github.com/squizlabs/PHP_CodeSniffer/archive/master.zip
      unzip PHP_CodeSniffer-master.zip
      cd PHP_CodeSniffer-master
      sudo cp -r --parents -t /usr/share/php/PHP/ CodeSniffer CodeSniffer.php scripts
      cd scripts
      sudo mv /usr/bin/phpcs /usr/bin/phpcs.ORIGINAL
      sudo cp -t /usr/bin/ phpcs
    • в PSR-2 используются пробелы вместо табуляций и phpcs на них ругается. Сделаем свой стандарт "FuelPHP", основанный на PSR2. Рядом с папкой PSR2 создаём FuelPHP, в которой достаточно одного файла FuelPHP/ruleset.xml :

    • <?xml version="1.0"?>
      <ruleset name="FuelPHP">
       <description>The FuelPHP coding standard.</description>
       <!-- Include the whole PSR-2 standard -->
       <rule ref="PSR2">
       <!-- Redefine 2.4 Indenting -->
       <!-- Code MUST use an indent of tabs, and MUST NOT use 4 spaces for indenting. -->
       <exclude name="Generic.WhiteSpace.DisallowTabIndent"/>
       </rule>
       <rule ref="Generic.WhiteSpace.DisallowSpaceIndent"/>
      </ruleset>

      Проверяем: phpcs -i

      The installed coding standards are Zend, FuelPHP, PHPCS, PSR2, PSR1, Squiz,
      MySource and PEAR
  • install ST3 plugin "Sublime Phpcs" http://www.soulbroken.co.uk/code/sublimephpcs/
  • check config, see HOWTO: http://philsturgeon.co.uk/blog/2013/08/php-static-analysis-in-sublime-text
    • только мы вместо "psr2" теперь напишем свой "FuelPHP" в юзеркониге:

    • Содержимое /home/rb/.config/sublime-text-3/Packages/User/phpcs.sublime-settings :

      {
          "show_debug": true,
          "phpcs_executable_path": "/usr/bin/phpcs",
          "phpcs_additional_args": {
              "--standard": "FuelPHP",
              "-n": ""
          },
      }

Автоматическая проверка в ST3 тепрь работает.

Также можно использовать отдельно: phpcs --standard=fuelphp home.php .

Opencart, GNU GPL и модули

Opencart использует лицензию GNU GPL v3. Это одна из наиболее жёстких лицензий, накладывающая ограничения на закрытие исходного кода как производных программ, так и расширений (модулей, плагинов).

Ниже несколько цитат из GNU GPL FAQ, касающихся лицензирования и условий распространения модулей и расширений GPL-программ.

Далее...