Пользовательский переключатель тем

 

Доброго времени суток дорогие читатели моего блога Улыбаюсь Совсем недавно, один из моих читателей  —  dlegame, поинтересовался как для системы RS-BLOG можно реализовать пользовательский переключатель шаблонов. dlegame подкинул мне тему для написание этой заметки, за что ему огромное человеческое спасибо Смеюсь

Прочитав его комментарий я подумал: «А почему бы не реализовать данный переключатель в виде дополнительного модуля?» Собственно, как мне казалось, впилиная в систему возможность подключать мини модули, самое то для реализации переключателя.

Но не тут то было...

 

 

Если кто разбирал устройство RS-BLOG должен был видеть, что дополнительные модули подключаются почти в самом низу файла index.php, стало быть, шаблон для вывода (например) новостей был уже запрошен, и переключать тему уже бессмысленно.

Если новую фишку реализовывать с помощью дополнительных модулей, то придется выбирать один из двух путей:

  1. Создавать шаблоны с полностью одинаковым набором классов (я имею ввиду классы верстки). Таким образом темы будут отличаться лишь содержанием CSS файлов. При таком раскладе переключатель будет работать как часы Улыбаюсь
  2. Перенести модуль дополнительных модулей почти в самый верх файла index.php. Таким образом позволить дополнительным модулям подключаться раньше системных. При выборе данного пути, темы могут быть совершенно разными, и переключатель будет так же работать как часы Улыбаюсь

Я думаю что самый адекватный путь это немного переписать index.php. Поэтому опишу установку модуля с учетом данного пути.

 

Ставим модуль «Переключатель шаблонов»

 

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

Скаченный модуль (вот от сюда) необходимо разархивировать и положить в папку /moduls/moremoduls/

 

Расположение модуля

 

Обратите внимание на путь.

Теперь, нам необходимо зайти в настройки блога, в пункт «Еще модули...»

 

еще модули

 

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

 

включить мини модуль

 

Модуль будет включен когда кружочек станет черным Улыбаюсь

Далее по инструкции необходимо переменную $rs_tpl поместить в шаблон main.tpl.php.

 

переменная rs_tpl

 

Вообще данную переменную необходимо поместить во все темы, что у Вас есть.

Теперь, для корректной работы, нужно перенести подключение дополнительных модулей в верх. Для этого открываем пользовательский index.php и переносим include() вверх. Я расположил данное подключение сразу после модуля отправки писем

 

Подключение сторонних модулей

 

После проделанной процедуры, вот что я получил:

 

Шаблон по дефолтуПереключил шаблонСписок тем

 

Заключение

 

Ну вот, собственно на этом все. Надеюсь данный модуль будет полезен не только для dlegame Улыбаюсь

Всем всего хорошего, у меня все

Возможно Вам будут интересны следующие заметки