Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

Собственно решил таки проапгрейдить магазины до последнего движка. Начал разбираться, что поменялось с архитектуры 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 changed the title to [Решено] 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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.