Нестандартная главная страница

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

Аватар пользователя Гость Гость (не проверено) 13 марта 2005 в 20:41

Нужно сделать страницу, где кроме блоков слева и справа посередине будет одна главная новость, а ниже последние новости из разных рубрик, расположенные по 2 на одном уровне. Как это можно реализовать в drupal?
Выглядит это примерно так:

Главная новость
новость спорта | новость политики
новость музыки | новость кино

И еще маленький вопрос:), можно закачивать картинки в story, чтобы на главной с каждой новостью висел thumbnail?

Лучший ответ

Аватар пользователя ed ed (не проверено) 21 марта 2005 в 20:01

Сегодня делал главную страничку с выводом новостей сайта + региональных rss-новостей + сообщений с livejournal (т.е. все на одной странице тремя блоками). Написал модуль с перекрытым hook_menu:

function mymoudle_menu($may_cache) {
$items = array();
if ($may_cache) {
$items[] = array('path' => 'news', 'title' => t('новости'), 'callback' => '_mymodule_news_page', 'type' => MENU_CALLBACK, 'access' => user_access('access content'));
}
return $items;
}

callback-функция _mymodule_news_page такая получилась:

function _region_news_page() {
$news = node_page_default();
$city_news = aggregator_block('view','feed:6');
$lj_news = aggregator_block('view','feed:1');
$output = "

$news

" .
"

$city_news[subject]$city_news[content]

".
"

$lj_news[subject]$lj_news[content]

";
print theme('page', $output, 'Новости');
}

Комментарии

Аватар пользователя Гость Гость (не проверено) 15 марта 2005 в 7:45

Я читал эту ветку, но мне кажется блоки - это немного не то. Разве можно таким образом сделать отдельную структуру для главной страницы? Ведь загвоздка не в том, чтобы создать эти блоки, а чтобы показывать их только на главной.

Аватар пользователя kiev1 kiev1 17 марта 2005 в 12:44

у блоков есть параметр - "путь" - в старом друпале - туда regexp вставляете который определить на каких страницах блок показывать а в новом просто перечисление или исключение страниц. блоки это и есть то что надо - выборка из базы чего-нибудь последнего, наиболее просматриваемого, наиболее читаемого, сходного по тематике и тд. так делать правильно - а лепить в одну страничку несколько нод в которые тоже вставлять подобие этих блоков - это неправильно.
и не flexynode а flexinode - это модуль такой чудненький который подходит для создания разных баз, каталогов, и тд с произвольными полями.

Аватар пользователя ed ed (не проверено) 21 марта 2005 в 20:01

Сегодня делал главную страничку с выводом новостей сайта + региональных rss-новостей + сообщений с livejournal (т.е. все на одной странице тремя блоками). Написал модуль с перекрытым hook_menu:

function mymoudle_menu($may_cache) {
$items = array();
if ($may_cache) {
$items[] = array('path' => 'news', 'title' => t('новости'), 'callback' => '_mymodule_news_page', 'type' => MENU_CALLBACK, 'access' => user_access('access content'));
}
return $items;
}

callback-функция _mymodule_news_page такая получилась:

function _region_news_page() {
$news = node_page_default();
$city_news = aggregator_block('view','feed:6');
$lj_news = aggregator_block('view','feed:1');
$output = "

$news

" .
"

$city_news[subject]$city_news[content]

".
"

$lj_news[subject]$lj_news[content]

";
print theme('page', $output, 'Новости');
}

Аватар пользователя ed ed (не проверено) 21 марта 2005 в 20:04

Ой, div и h1 вырезались... вообщем в переменную output там пишется html на основе subject и conent rss-блоков (их предварительно настроил в aggregator-е) + переменной $news.