Разные шаблоны, для разных страниц и разделов сайта.

Главные вкладки

Аватар пользователя FrEEz10 FrEEz10 9 февраля 2008 в 21:51

Облазил все что можно, но так и не нашел простого модуля, для назначения разных тем оформления, разным страницам или разделам сайта. Поэтому пришлось написать это гигантское чудо, из 60 строк самому. С помощью этого модуля, Вы можете управлять видимостью тем, так же как управляете видимостью блоков. В настройках, добавляется пункт меню, в котором выводится список всех включенных тем, с полями ввода. В поле ввода темы, вписывается тот же шаблон, что и в поле управления видимостью блока. То есть если теме chameleon прописать например node/* то на всех нодах, будет подключаться она. Ну я думаю все ясно. Сразу оговорюсь — очень хотелось спать Smile Поэтому, не производится проверка на дублирование записей. Так что, если Вы теме 1 и теме 2 пропишите node/* то на страницах увидите ту тему, которая в массиве шла первой Smile Также нет возможности переключать тип видимости. В список можно вбивать только шаблоны урл, на которых должна показываться тема. Ну есть и еще наверно косяки, но я пока не готов их править. Позже наверное сделаю все по уму, а сейчас выкладываю по принципу, вдруг кому сгодится. Для того чтоб назначить тему на главную, как обычно юзайте <front>

ВложениеРазмер
Иконка пакета set_theme.zip11.68 КБ

Комментарии

Аватар пользователя FrEEz10 FrEEz10 10 февраля 2008 в 8:08

НовичОК wrote:
А модуль taxonomy_theme не похож на ваш?

Biggrin Да... похоже одна и та-же кодерская идея, пришла в разные головы, но только идея taxonomy theme зачем-то размазалась по 1100 строкам кода Shok Ну да не это подбило меня написать мой модуль. Я не нашел TТ просто, на самом деле. Самое «умное», что удалось найти в рунете вообще и на друпал.ру в частности, это «А зачем это вам?» и «Я видел где-то на друпал орг, модуль нужный, но не помню как называется.» Так что пусть запись висит. Может через неё, кто найдет и ТТ да и может мой модуль заюзает. Лично я буду юзать свой — зачем мне 1100 срок кода, делающих то же что и 60?

Аватар пользователя НовичОК НовичОК 10 февраля 2008 в 10:58

По оптимизации - конечно у вас оптимальней получается.
Скажите, а ваш модуль чем-то отличается от taxonomy theme? Какие есть отличия?

Аватар пользователя run run 10 февраля 2008 в 11:04

Модуль Taxonomy Theme хорош. Он делает вочти все.... почти, но не все. У меня проблема на многоязычном сайте - нужно чтоб при переключении языков менялась тема. Вот еслиб кто "поженил" Taxonomy Theme с модулем Internationalization это было бы идеальным решением. Писал автору модуля Taxonomy Theme, но ответа небыло.

Спасибо за ваш модуль, посмотрю, может он лучше.

Аватар пользователя edhel edhel 11 февраля 2008 в 7:51

А раньше делал разно-язычные версии сайта на taxonomy_theme, а теперь сделал проще: в page.tpl.php прописываю все фразы с помощью <?=t('фраза')?>. А картинки с текстами делаю так: <img src='myimage_<?=$language?>'... />

А вообще смену темы сделать в частных случаях можно просто:

<?php
function mymodule_menu($may_cache) {
if (!$may_cache && !$user->uid) { // здесь можно любое условие, например arg(0) == 'de' или $GLOBALS['locale'] == 'de'
global $custom_theme;
$custom_theme = 'mytheme';
}
}
?>

Аватар пользователя supervova supervova 6 марта 2008 в 12:28

Здравствуйте, было бы замечательно, если бы вы побороли следующую проблему модуля.

Если указать тему «админки» (Управление сайтом > Настройка > Тема админки; /admin/settings/admin), отличную от установленной по умолчанию, ситема прекращает вывод html на страницах неавторизованного пользователя, сообщая об ошибке: Fatal error: Call to undefined function system_theme_data() in \modules\set_theme\set_theme.module on line 52.

Я не спец. в программировании, но предполагаю, что причина в том, что функция system_theme_data не глобальная.

Заранее - спасибо

Аватар пользователя FrEEz10 FrEEz10 10 марта 2008 в 2:43

Спасибо, Вы действительно сказали заранее, так как не вижу никаких ошибок в описанной Вами ситуации. Сделал так как Вы описали и все в полном порядке. Пожалуйста, опишите более точно, что именно приводит к выводу сообщения об ошибке!

Аватар пользователя supervova supervova 25 марта 2008 в 20:41

Честно говоря, нечего добавить: лично у меня ваш модуль конфликтует со встроенным выбором оформления админки. Мб, зависит от набора модулей?

Аватар пользователя FrEEz10 FrEEz10 26 марта 2008 в 12:40

Ну вообще маловероятно. Модуль предельно прост... Единственное, если у вас стоят какие то модули, работающие с шаблонами и оформлением (меняющие настройки и т.п), то может и возник какой конфликт. Вообще у меня он работает без нареканий и попытки смоделировать описанную вам ситуацию, ни ку чему не привели. Не видя ошибки я не могу её исправить... Sad

Аватар пользователя NecroHill NecroHill 9 мая 2008 в 15:53

я предыдущую версию напильником под Drupal 6.x для себя подправил, вроде пока работает без нареканий.
FrEEz10 , будешь под 6-ю версию модуль развивать или под 5-ю только?
спасибо за модуль!