[Решено]Undefined index: type

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

Аватар пользователя WhyNot WhyNot 30 августа 2012 в 5:02

Пробовал делать как в этой статье: Собственный css-файл стилей для определенного типа материала.

<?php
function colourise_preprocess(&$vars$hook)
{
...
if (
$vars['type'] == 'gallery')
    {
        
drupal_add_css(drupal_get_path('theme''colourise') . '/css/gallery.css''theme');
    }
}
?>

Выдаёт подобную ошибку.
Notice: Undefined index: type в функции colourise_preprocess() (строка 30 в файле путь_к_файлу_template.php).

Я так понял, дело в версии (она у меня седьмая).

Вопросы:
Как можно узнать машинное имя типа в друпал 7?
Приемлемый ли это способ для установления CSS определённому типу материалов?

Комментарии

Аватар пользователя kVillain kVillain 30 августа 2012 в 5:27

Да дело в версии.

попробуй так
function colourise_preprocess_node(&$variables) {
if ($variables['type'] == 'gallery') {
drupal_add_css(drupal_get_path('theme', 'colourise') . '/css/gallery.css');
}
}

Аватар пользователя WhyNot WhyNot 30 августа 2012 в 11:42
<?php
function colourise_preprocess_node(&$variables) {
    if (
$variables['type'] == 'gallery')
    {
        
drupal_add_css(drupal_get_path('theme''colourise') . '/css/gallery.css');
    }
}
?>

Не работает..
Ничего не делает. Даже если убрать условие, то ничего не происходит.

Если вставить строку

<?php
drupal_add_css
(drupal_get_path('theme''colourise') . '/css/gallery.css');
?>

в функции colourise_preprocess или colourise_preprocess_page то CSS начинает работать на всех страницах.

А в colourise_preprocess_node не пашет.