Всем доброго дня. Опыт не очень большой с друпалом. Делаю изменение темы по клику. Использую модуль "Switchtheme". Как его оптимизировать? Мне нужно вывести например просто названия тем для выбора, чтобы потом ими манипулировать. Нашел вот эту тему http://www.drupal.ru/node/124675 Но никак не могу применить ее под себя. Вот код оттуда
<?phpfunction switchtheme_select() {
$options = array();
foreach (switchtheme_options() as $name => $label) {
$theme_title = variable_get('switchtheme_' . $name, $label);
if ( $theme_title != $label && !empty($theme_title) ) {
$options[$name] = $theme_title;
}
}
asort($options);
return $options;
}?>
Моя тема называется new и new1
Как должен выглядеть этот код для моей темы?
Комментарии
Этот код исправляет ошибку в функции формирования списка тем, исправлено в dev-версии модуля. Для переключения тем модуль создает блок, в котором выводится форма для переключения тем. Мы скрывали форму и делали ссылку "Переключить на тему...", по клике на которую при помощи скрипта "выбиралась" нужная тема
Напишите пожалуйста как назвать функцию в template.php и просто вывести все доступные темы (их 2, new и new1)
Мне только это нужно, дальше допилю сам.
Чтобы получить список всех тем, используется функция list_themes(). Но в этом списке могут находиться темы, которые не нужны для переключения (как минимум, административные).
В модуле switchtheme в админке можно выбирать нужные темы (для ненужных оставляем пустым наименование). Функция switchtheme_select() выводит список нужных тем.
И list_themes() и switchtheme_select() возвращают массивы, которые необходимо обработать для вывода. Например, при помощи theme_item_list()
В модуле нет темизации, никакие функции переопределять не нужно, можно назвать функцию как угодно.
Так должно быть?
<?php
function new_select()
{
}
?>Для каждой темы не нужна своя функция. Можно получать список тем в виде массива ( key/name ), определять текущую тему (key) и исключать ее из массива.