Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Решено] ocStore 2.3.0.2.2 использует только шаблон default


 Поделиться

Рекомендованные сообщения

Собственно решил таки проапгрейдить магазины до последнего движка. Начал разбираться, что поменялось с архитектуры 1.4.9 - и погряз на несколько часов, попутно выполняя несколько типичных и нетипичных задач, а именно: сменить все названия корневых папок (для исключения взлома типичными скриптами), создать модифицированный архив для чистой установки и затем клонировать штатную тему и заняться кастомизацией CSS.

Первая задача решилась достаточно легко, но пришлось поискать прямые пути в скриптах и временно их изменить ручками, отложив замену на дефайны. А вот вторая заставила меня перерыть весь движок. Огорчением было, что недостаточно скопировать папку с темой - оказалось, что нужно теперь поступать так, как это было с модулями в 1.4.9. Если кому интересно, то подробности под спойлером.

Spoiler

По указанным ниже путям лежат соответвующие файлы theme_default.php (.tpl), где необходимо их задублировать, переименовав default на нужное Вам название темы (например newone). Так же необходимо во всех файлах редактором заменить default по аналогии. В итоге получите следующее:

admin\controller\extension\theme\theme_newone.php
admin\language\en-gb\extension\theme\theme_newone.php
admin\language\ru-ru\extension\theme\theme_newone.php
admin\view\template\extension\theme\theme_newone.tpl
catalog\view\theme\newone - это копия темы default

 

Так же Вам потребуется поменять в файлах-шаблонах все найденные жесткие привязки к теме default (например в header.tpl)

 

Теперь тема отображается в админке - ее стоит можно установить и настроить. Название темы для админки меняется в файлах папки language.

А теперь суть проблемы, причину которой я долго не мог найти - при смене темы, все настройки меняются верно, а рендерится тема дефолтная. Вот. Ошибка оказалась в хитром (для неведующих, типа меня) месте - в скрипте обработки события по адресу catalog\controller\event\theme.php:

//На 16 строчке вместо
$theme = $this->config->get('config_theme');
//Стоит поставить
$theme = $this->config->get($this->config->get('config_theme').'_directory');
//И все становится отлично!

Прошу внести правки в дистрибутив, если вышеизложенное верно. Спасибо за внимание.

Изменено пользователем liquidcore
Ссылка на комментарий
Поделиться на других сайтах


  • liquidcore изменил заголовок на [Решено] ocStore 2.3.0.2.2 использует только шаблон default

Все проще 

 

admin\controller\extension\theme\newone.php
admin\language\en-gb\extension\theme\newone.php
admin\language\ru-ru\extension\theme\newone.php
admin\view\template\extension\theme\newone.tpl

Ссылка на комментарий
Поделиться на других сайтах

Проще, но тогда неправильное использование поля directory в настройке шаблона приведет к той же ошибке. Если дизайнер захочет изменить название папки шаблона - он будет обязан менять и контролы. Это не согласуется с концепцией движка.

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.