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

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.2/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-программ.

Далее...

Вернулся

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

Отсутствую с 20 до конца сентября

18 августа 2013 г. Ruslan Brest Дневничковое2

С 20-го августа буду отсутствовать. Без средств связи, так что отвечать не смогу.

Вернусь в конце сентября.

Opencart (admin): сортировка товаров по колонке с изображениями

14 августа 2013 г. Ruslan Brest Howto » OpenCartОбсудить

Сортировка по колонке с фото пригодится для быстрого перехода к товарам, у которых нет фото.

Делалось на последней версии с гитхаба, но должно быть аналогично для всех версий. Единственное, что может отличаться - tpl файл, т.к. админка в v2.0 существенно переделывалась. Но думаю, не составит труда адаптировать одну строчку под необходимую вам версию.

Далее...

[FWD] Сравнение производительности четырёх JS-библиотек

Сравнение производительности четырёх JS-библиотек: native Javascript, Google Closure, jQuery, ExtJS.

Результаты там наглядные и поразительные. jQuery оказывается заметным тормозом.

См. также:

Далее...

Создатель PrestaShop: встреча во Львове 26 июля 2013 года

Создатель PrestaShop Бруно Левек 26-го июля 2013 года прилетает в Украину, где проведет во Львове встречу с разработчиками, представителями веб-студий, фрилансерами.

Формат встречи — закрытый семинар. Участие абсолютно бесплатное, но чтобы получить приглашение, вам нужно пройти предварительную регистрацию и заполнить простую форму.

Если посетить встречу нет возможности, но накипели какие-то важные и неотложные вопросы, то вы можете их задать с помощью этой же формы.

PhantomJS - утилита для тестирования дизайна на разных экранах

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

Базируется на движке WebKit. Технически - это обычный броузер, но без интерфейса пользователя. Результаты рендеринга страницы и Javascript можно записать в виде картинки.

Testing your responsive design with PhantomJS.

Там описана установка из репозиториев для Ubuntu и MacOSX и пример использования -- результаты в виде скриншотов тоже можно разглядеть. Я с инструментом не работал, так что вряд ли смогу что-то добавить к тому, что написано в указанной статье.

Что нас ждёт в Opencart 2.0

Конца разработке Opencart 2.0 пока ещё не видно, но сейчас уже можно выделить основные нововведения и готовиться к изменениям.

Что нас ждёт в новой версии Опенкарт?

  • HTML5,
  • адаптивный дизайн (Twitter Bootstrap),
  • наведение красоты и использование шрифтов с иконками (Font Awesome) вместо мелкой графики,
  • добавление полей в форму регистрации из админки (не видел, не знаю, о чём речь),
  • а также "встроенный vqmod": новые пункты меню "Extension installer" и "Modifications" в меню расширений.

Также 10 июня было сказано, что Paypal и Amazon заплатили за внесение каких-то новых фишек, но на гитхаб это пока не выложено. Делается какой-то другой компанией и будет объединено позже.

UPD: это оказались:

Далее...