Привет!
Я создал несколько типов материалов(новости, статьи ну и т.д.). Создал для каждого типа свой блок (через views) который выводит по три последних материала.
Теперь мне надо вывести эти блоки на главную. Причем так чтобы там не было стандартного вывода материалов с постраничной навигацией. Только блоки.
Варианты удаления $content не предлагать
Заранее спасибо.
Комментарии
page.tpl.php
<?php if (!$is_front) echo $content; ?>
Но лучше так
в template.php темы:
<?php function названиетемы_preprocess_page(&$vars, $hook) {
if ($vars['is_front']) {
$vars['content'] = '<div class="left-col">'.$vars['front_left_col'] .'</div>';
$vars['content'] .= '<div class="right-col">'.$vars['front_right_col'] .'</div>';
}
} ?>
В этом примере, мы подменяем $content на главной двумя регионами (можно хоть сто) - $front_left_col и $front_right_col, в которые можно вставлять блоки
Всё что нужно, это прописать $front_left_col и $front_right_col в .info темы, тогда они станут видимы на странице управления блоками и в них можно определять блоки
Самый гуманный, человечный, самый друпальский способ разобраться таки с главной страницей.
еще вариант, если у вас используется главная страница по умолчанию создаете в папке используемой темы файл page-front.tpl.php (если не по умолчанию тогда page-node-[nid].tpl.php), в него кидаете то же самое что и в page.tpl.php только там где у вас $content заменяете на свои регионы которые можете прописать в .info файле, да и вообще можете менять что хотите, даже сделать альтернативную верстку для главной станицы.
ЗЫ: не забывайте чистить кеш
Спасибо всем!
То что вы заменяете $content на нужное вам не убирает те тяжелые действия по сбору контента из базы. Если я что-то делаю, то стараюсь это делать качественно. Как друпалу дать правильный пинок, чтобы при генерации этой страницы друпал не делал лишние действия?
А в 7-ке что-то не работает, даже с учетом новых обозначений переменных. На месте вывода пишет Array. Если только одним блоком переопределить, то все ок.
Может кто подскажет решение для 7-ки?
panels
то же самое хотел написать...
есть способ проще.
вот как сделано на aquaria-info.ru:
те есть, не надо руками править темплейтов, не нужны дополнительные модули, работает в любой версии друпала