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 3 в шаблонах Twig вместо PHP

DK про то, почему Twig вместо PHP:

https://forum.opencart.com/viewtopic.php?p=678904&sid=1dd5642d452c36914554804520e09de4#p678904
by Daniel » Thu Jul 06, 2017 12:00 am
we needed to switch from php templates otherwise we could not have a theme editor or have php editable code on the cloud.

В общем, всё движется к "опенкарт в облаке" как SaaS: ядро недоступно, снаружи шаблоны и может ещё что-то-там пользовательское. И внутри будет какой-то редактор шаблонов, как и добавленный редактор языковых переводов.

Opencart 3 кажется можно уже начинать смотреть/использовать

А тем временем уже 3.0.1.2. Тихо-мирно, без помпы, анонсов и рассылок.

Похоже, на Opencart 3 уже можно смотреть без риска потонуть под откровенными ошибками и недосмотрами (обычное дело с их x.x.0.0 "релизами").

UPD: только написал, и через день вышел релиз 3.0.2.0.

Ещё ссылки по теме Opencart 3:

Как работает автоматическое определение языка в Опенкарт

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

  1. Человек в настройках браузера обычно имеет возможность указать один или несколько языков, которые он понимает и предпочитает. Ищите в настройках что-то вроде "Preferred languages" (предпочитаемые языки). В браузерах попроще, с прицелом на чайников и минимумом настроек, локаль может браться системная или быть вшита в локализованный софт (без возможности настройки пользователем).
  2. Браузер отдаёт эту информацию сайтам в HTTP-заголовках Accept-Language при всех запросах. Этим он сообщает сайтам: если есть контент на одном из языков из моего списка - дайте мне его! (Если нет для первого - давайте для следующего по списку; если вообще ничего нет - давайте что там у вас есть по умолчанию). Варианты, которые встречаются у посетителей ваших сайтов, можно найти в Google Analytics, Яндекс.Вебмастер, Awstats, Piwik и других подобных системах веб-аналитики. Что отдаёт ваш браузер сайтам, вы можете увидеть в инструментах разработчика, посмотрев на HTTP-заголовки.
  3. Сайт может анализировать или игнорировать эти заголовки, реагируя на указанные предпочтения или нет.

Теперь Опенкарт. Мне кажется, 9 из 10 пользователей этого движка понятия не имеют, что это за строчка в описании языка в админке со всякими ru, ru-ru, uk, uk_UA и т.п. Теперь догадываетесь?

Это - простой список локалей, которые браузер может передать в заголовках. И на которые мы имеем возможность среагировать. Если у нового пользователя опенкарт язык сайта ещё не выбран (и не записан в куках), то Опенкарт смотрит на HTTP-заголовки Accept-Language. И сравнивает их с тем, что мы понаписали в админке для русского, украинского и других языков.

Поскольку браузеры обычно дают выбирать языки и локали из списка, а не прописывать их вручную, то там чаще всего будет код языка или языка и региона. Например: ru, ru-ru, ru-RU, ru_ru, ru_RU. В Украине бывает uk (украинский язык), ru_UA, uk_UA. Ну и ru-UA, uk-UA до кучи.

Обычно локаль указывается с подчёркиванием "_", но жёстких стандартов по этому поводу кажется нет. И нередко можно встретить минус, тире или как там его правильно называть в типографике: "-". То же самое касается регистра символов в коде страны. Надо прописать все возможные комбинации, так как Опенкарт не приводит их к нижнему регистру при сравнении (смотрел на версии 2.1.0.2 - думаю, в остальных так же).

Итого: у вас в опенкарт админке в настройке языка должен быть список языков/локалей, которые могут запросить браузеры ваших посетителей (смотрите логи и аналитику и подстраивайтесь под своих посетителей). И этой настройкой вы определяете, какой язык им отдать при первом посещении вашего сайта ("угадать" его предпочтения).

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

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

Минимальная цена расширений на Opencart.com теперь уже 20USD

На опенкарт.ком нововведение:

Price must be 20.00 USD or more!

Раньше нижняя планка была 10$.

И фиг теперь отредактируешь описание - вместе с этим надо и цену поднимать.

Ещё там после переделки есть чудесатое поле "License period" (от 1 до 12 месяцев). Которое в админке имеет один смысл, а в магазине расширений - другой.

В админке у продавцов это поле расположено в одной строке с ценой на модуль. И логика получается такая: за N баксов модуль продается и доступен 1-12 месяцев. Дальше покупай повторно. Это когда-то обсуждалось на англоязычном форуме и оттуда я помню логику работы нововведения.

Но! Самое интересное, что в пользовательском интерфейсе (в магазине расширений) это поле невменяемо названо не сроком лиценции, а сроком бесплатной поддержки! Офигеть. Не бесплатных обновлений (если будут появляться), не сроком доступности модуля для скачивания, а вот так в лоб: 12 Months Free Support (ну, например). То есть купил кто-то модуль на нестандартный шаблон - и ты ему целый год должен все допилы бесплатно, не говоря уже о бесплатной адаптации под нестандартный шаблон. Потому что "у тебя на сайте так написано".

Consistency в очередной раз в пролёте. Опенкарт такой опенкарт...

Ковыряюсь в Multimerch

Ковыряюсь в Multimerch. Той версии, которая ещё бесплатной была - 6.какая-то, если правильно помню.

Люди, вы меня улыбаете. Я думал, Даниэль - один такой уникум, который даже индексы в БД расставить не может. Нет, не один.

Шаблоны в Опенкарт 2.3 переводят с PHP на движок Twig

Начиная с версии 2.3, Опенкарт переключит стандартный шаблонный движок с PHP на формат Twig-препроцессора. Обычный PHP обещают тоже оставить: если у файлов шаблонов расширение .tpl - используется PHP для рендеринга, если .twig - то шаблонный движок Twig.

Про версию 2.2

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

Sticky-меню и sticky-footer - кошмар для мобильных пользователей

Что за тренды такие? То делают повсеместно буквы такие громадные, как будто люди без очков на Земле кончились. А те, что остались, обожают листать по 5-10 строчек текста вместо того, чтоб читать. Там, где легко 50 помещалось до того, как дизайнерам не сказали, что теперь это круто. Были палмы с экранами 160x160 и 320x320 - на них комфортно помещалось 20-25 строк текста. Теперь экраны телефонов в 3 раза больше физически, разрешение то 480 на хрен-знает-сколько, то 800x480. А количество строк текста стало не 50, а 20 или и того меньше меньше...

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

Алё! Вы вообще представляете, сколько места остаётся на гигантских по вчерашним меркам экранах современных телефонов для полезного текста, за которым приходят пользователи? Мне даже на нетбуке часто очень некомфортно оказывается из-за всех этих стики и тем более поп-апов с подписками и предварительной дружбой в соцсетях.

Желаю всем веб-мастерам поставить на sticky-menu кнопку закрытия. И отслеживать аналитику кликов по убиранию вашего мусора с наших экранов. Не нужно на экране постоянно ни меню, ни футер, ни соцкнопки. Мы прекрасно помним, где они находятся, а время нахождения на сайте эти ухищрения не увеличат. Скорее уменьшат. Видеть кусочек полезного контента сквозь крохотную оставшуюся амбразуру на весьма больших экранах мобильных устройств и одновременно радоваться такому неудобству - задачи несовместимые.

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

Лайфхак: как разделять разговоры по темам в Skype

Удалось найти решение давно мучившей проблемы: как разделить разговоры в скайпе по темам, сделать подобие тредов?

Решение - создавать чаты. И если на троих и более это не проблема, то попытка создать групповой чат (Conference Call) на двоих в скайпе приводит к звонку (!). Дятлы.

Решение кроется в скрытых командах скайпа, полный список которых можно увидеть, набрав в сообщении /help. Итак, чтобы создать чат на двоих и обсуждать там вопросы только по определённой теме (проекту), надо сперва из главного меню Скайпа создать групповой чат (Conference Call) на троих участников, а затем третьего убрать командой /kick skypename.

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