Здравствуйте, умные люди.
Возникла у меня необходимость задавать определенные классы, разным блокам.
Посоветовали модуль Skinr http://drupal.org/project/skinr
Прочитал документацию, документация прекрасная и все понятно написано http://drupal.org/node/578574.
Скачал модуль, установил, активировал, создал классы, указал в инфо файле нужные конструкции. К примеру так:
skinr[very_lage_font][type] = radios
skinr[very_lage_font][description] = Этот класс задает всему содержимому блока очень большой шрифт в 17 или 30 пикселей.
skinr[very_lage_font][features][] = block
skinr[very_lage_font][options][1][label] = очень большой
skinr[very_lage_font][options][1][class] = very-lage-font
skinr[very_lage_font][options][2][label] = огромный (:
skinr[very_lage_font][options][2][class] = very-very-lage-font
Захожу на страницу отображения регионов и блоков, выбираю нужный блок, который уже есть на странице, жму на "configure". Перехожу к настройкам skinr, в настройках модуля появились соответствующие две радиокнопки переключения этих двух классов.
Выбираю класс, жму на сохранить и ничего не происходит)
Смотрю в код, у блока никаких классов не добавилось.
Также никаких классов не добавляется и во вновь создаваемый блок.
И не работает добавление классов в Advanced options
по Apply additional CSS classes:
Думал что конфликтует с другими модулями, поставил абсолютно чистый друпал специально, поставил один этот модуль и тот же эффект, вернее эффекта никакого(((
Может быть я что-то упустил в настройках? Подскажите пожалуйста.
Комментарии
В папке темы лежит файл block.tpl.php?
ну естественно)
кстати тема у меня создана на основе zen. т.е. есть сама zen и есть папка с моей темой, в папке с моей темой есть block.tpl.php и все остальные файлы для работы подтемы.
кстати модуль Block Theme http://drupal.org/project/blocktheme в моей теме прекрасно работает. (конфликтовать не должен, потому что я его поставил уже потом, разочаровавшись в skinr)
ээм. есть подозрение, надо покопаться. сегодня-завтра отпишусь)
Вы помогли человеку! Можно попросить помощи на ту же тему. Тот же модуль skinr, тема pixture reloaded, выполнил пошаговую инструкцию - http://skinr.org/how-it-works-7-steps, все появилось, кроме функциональности: цвет текста не изменяется.
Решено! Ответ (пошаговая инструкция для чайников) здесь: http://fotooxota.ru/node/219
хорошо) буду ждать, спасибо
Сорри. только сейчас добрался до компа...
Вот код block.tpl.php из темы zen. Я туда кое-что добавил, и все работает
class="<?php print $classes . ' ' . $skinr; ?>"><div class="block-inner">
<?php if ($block->subject): ?>
<h2 class="title"><?php print $block->subject; ?></h2>
<?php endif; ?>
<div class="content">
<?php print $block->content; ?>
</div>
<?php print $edit_links; ?>
</div></div> <!-- /block-inner, /block -->
А именно -
<?php print $classes . ' ' . $skinr; ?>
Вот что выводит мне в html блок:
<div class="block block-user region-odd odd region-count-1 count-1 with-block-editing very-lage-font" id="block-user-1">........
А если мы к примеру разместим переменную вот тут в page.tpl.php:
<body class="<?php print $body_classes . ' ' . $skinr; ?> ">
то выводиться она не будет, т.к. у нас указано условие:
skinr[very_lage_font][features][] = block
Дескать применять только для блоков. Вот тут подробнее описано - http://drupal.org/node/578574#features
Спасибо большое, Александр за ваше терпение))) Это ж надо было мне так лохануться))) Я тупо не дочитал до конца документацию к модулю))) http://drupal.org/node/578574/
там же все подробно описано)) как вы и написали какую переменную и куда в коде вставлять)) а недочитал, я потому что меня испугала эта надпись))) "Advanced Options" и вот эта))) "Using custom template files WARNING: EXPERIMENTAL"
теперь я полностью разобрался со всеми модулями, которые вы посоветовали, все прекрасно работает, спасибо вам огромное.
Кстати там написано, что для тех, кто использует темы на основе зен, то нужно в код вставлять переменную немного по-другому "$vars['skinr']", можете пояснить почему так?
"If you are using a theme that takes care of classes during preprocess, like Zen or Studio, you can add $vars['skinr'] there"
потому что zen много чего переопределяет у себя в template.php