Обзор OpenCart шаблона StoreFlex

StoreFlex довольно известный шаблон в среде разработчиков OpenCart, хотя он и заточен исключительно под шмоточные магазины (почему, узнаете позже). Обо всем по порядку.

Установка

Шаблон мне предоставили на обзор в компании TemplateMonster, точнее сказать дали купон на 100% скидку. Однако дело было накануне Black Friday, поэтому без приключений даже скачать шаблон не получилось. Сначала предоставленный купон оказался просрочен, а потом и вовсе ссылочка из почты вела в белый экран браузера, но ничего, мы не гордые, купон нам обновили и мы скачали шаблон ручками через аккаунт на сайте  TemplateMonster.

Начнем с первого шока. Размер архива шаблона составлял 884 Mb.! Распаковав его, я все-таки понял в чем дело, в архиве присутствовали исходники дизайна в формате .psd и несколько вариантов установки шаблона. Причем исходники дизайна занимали львиную долю – 537 Mb., что навело на предложение: ребята, вы б там предлагали клиентам на выбор шаблон only или уже  hardcore в месте с дизайном. Уверен, что 90% покупателей выберут только шаблон, т.к. вряд ли кто-то будет покупать шаблон, чтобы потом перерисовывать его дизайн на таком базовом уровне. Шаблоны за то и любят, что не нужно заморачиваться со слайсингом и натяжкой на бекенд.

И так, установка. С ней по сравнению с прошлым обзором ничего нового не случилось, хваленая распаковка через unzip.php (кстати, единственный метод, описанный в документации платформы) как всегда ничего не сработал.

Благо, на моем хостинге пока все работает хорошо и распаковка ручками прошла на ура. Распаковка прошла за несколько секунд, но вот установка OpenCart не завелась. А все потому, что хваленые разработчики или сборщики шаблона решили не заморачиваться и активировать .htaccess. И нас ждал вполне себе закономерный 500 Internal Server Error.

Установщик чистого OpenCart очень продуманная вещь, например там по-умолчанию переименован файл txt.htaccess во избежание конфликта настроек сервера и «хотелок» CMS. Лишь убедившись, что все настроено в соответствии с требованиями хостинга, можно переименовать .htaccess

Причина оказалась банальна, на моем хостинге не разрешены некоторые директивы, а конкретно Options +FollowSymlinks, которую нужно обязательно заменять на Options +SymLinksIfOwnerMatch, после замены инсталлер запустился как положено. Т.к. в комплекте был полный архив (OpenCart + шаблон), сразу после установки мы видим привычный нашему глазу StoreFlex.

Внешний вид

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

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

Пара слов про безалаберность касательно локализации (что-то подобное мы уже встречали). Окей, вы разработчики не знаете, как пишется знак рубля? Не уверены, что ваш шаблон будут покупать в РФ, окей, не вставляйте тогда эту валюту в шаблон. А так имеем вот это:

Я уже молчу, что дробная часть в русском языке отделяется запятой, а не точкой. Через пару минут можно сделать из вот этого убожества нормальный вид:

P.S. И я вообще молчу, что разделитель групп разрядов, чтобы цена не превращалась в слипшуюся массу.

Исходный код и бекенд

Оптимизация этого шаблона согласно требований Google Page Speed оставляет желать лучшего. Например, вот результаты теста:

Причина банальна – никто даже не думал оптимизировать картинки для веб устройств, разработчики не знают, что все эти модули вывода постов из Instagram ужасно тормозят сайт из-за не оптимизированности вывода картинок.

Вот этот маленький блок из 6 картинок весит около 1 Мб.!

И конечно же нужно именно в секцию <head> поместить все-все javascript, которые есть у шаблона. Например, страница категории использует 14 javascript файлов, из которых в секции <head> 9 (!). Конечно, шаблон тормозит как не в себя.

В общем, ребята-разработчики. В 2017-м году, когда сайтов великое множество, Google любит быстрые сайты и в следующий раз, пожалуйста, оптимизируйте его согласно требований основной поисковой системы мира. А пока за оптимизацию оценка 2.

Админка… лучше б я туда не смотрел

Пожалуй единственный шаблон, который так виртуозно портит даже админ панель OpenCart. Лишь только я установил шаблон, в админке меня ждало вот это:

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

Локализация модулей

Шаблон крайне коряво локализирован. Опять же, не хотите русского – не делайте вовсе, но зачем делать так:

Качество кода

Очень порадовал модуль под названием Zemez Cart, у него был крайне простой и незатейливый код )))

<?php
class ControllerExtensionModuleZemezCart extends Controller {
 public function index() {
 return $this->load->controller('common/cart');
 }
}

Кто не понял, он просто возвращал при обращении контроллер другого модуля, штатной корзины OpenCart.

Вывод: шаблон StoreFlex это классический пример, когда за ширмой привлекательной внешности скрывается отвратительное по скорости работы, локализации и отсутствию багов решение. Ужасает даже то, что перейдя с 2-й версии OpenCart на 3-ю, т.е. переписав многие контроллеры и все tpl на twig, разработчики вот так плохо отнеслись к своей работе, будто бы коллеги не полезут дальше красивых баннеров и не посмотрят «что там под капотом».

К сожалению, этот шаблон я рекомендовать на данный момент не могу.

Игорь Чишкала

Директор по технологиям в SoftForge.
Люблю ИТ, пишу технические статьи в этом блоге или для сайта фриланс-биржи Upwork. Кодю на PHP с использованием фреймворков Laravel или Symfony.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *