Новости на главной странице

Прислано: Лёхха

чт, 18/02/2010 - 10:01

Задача: отображать на главной странице в области контента список из нескольких последних новостей со ссылкой "Все новости" внизу списка. Новость - это заголовок, дата и небольшой текст. Требуется решение, желательно без программирования :) Может кто-то посоветует, как поступить? Спасибо!

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано toshaxtsa в чт, 18/02/2010 - 10:18.

Ставишь модуль Views
Там жмешь кнопку импорта
Вставляешь этот код.

<p>$view = new view; $view-&gt;name = 'news'; $view-&gt;description = 'Новости сайта'; $view-&gt;tag = 'Новости'; $view-&gt;view_php = ''; $view-&gt;base_table = 'node'; $view-&gt;is_cacheable = FALSE; $view-&gt;api_version = 2; $view-&gt;disabled = FALSE; /* Edit this to true to make a default view disabled initially */  /* Display: Новости сайта */ $handler = $view-&gt;new_display('default', 'Новости сайта', 'default'); $handler-&gt;display-&gt;display_options['title'] = 'Последнии новости сайта'; $handler-&gt;display-&gt;display_options['use_ajax'] = TRUE; $handler-&gt;display-&gt;display_options['use_more'] = TRUE; $handler-&gt;display-&gt;display_options['use_more_text'] = 'читать далее'; $handler-&gt;display-&gt;display_options['distinct'] = TRUE; $handler-&gt;display-&gt;display_options['access']['type'] = 'none'; $handler-&gt;display-&gt;display_options['cache']['type'] = 'time'; $handler-&gt;display-&gt;display_options['exposed_form']['type'] = 'basic'; $handler-&gt;display-&gt;display_options['exposed_form']['options']['submit_button'] = 'Применить'; $handler-&gt;display-&gt;display_options['exposed_form']['options']['reset_button_label'] = 'Сбросить'; $handler-&gt;display-&gt;display_options['pager']['type'] = 'some'; $handler-&gt;display-&gt;display_options['pager']['options']['items_per_page'] = 5; $handler-&gt;display-&gt;display_options['style_plugin'] = 'list'; $handler-&gt;display-&gt;display_options['row_plugin'] = 'fields'; /* Подвал: В целом: Text area */ $handler-&gt;display-&gt;display_options['footer']['text']['id'] = 'area'; $handler-&gt;display-&gt;display_options['footer']['text']['table'] = 'views'; $handler-&gt;display-&gt;display_options['footer']['text']['field'] = 'area'; $handler-&gt;display-&gt;display_options['footer']['text']['label'] = ''; $handler-&gt;display-&gt;display_options['footer']['text']['empty'] = FALSE; $handler-&gt;display-&gt;display_options['footer']['text']['content'] = '</p>
<p>[<a href="http://proza.by/news">Все новости сайта</a>]</p>
<p>'; /* Поле: Материал: Дата создания */ $handler-&gt;display-&gt;display_options['fields']['created']['id'] = 'created'; $handler-&gt;display-&gt;display_options['fields']['created']['table'] = 'node'; $handler-&gt;display-&gt;display_options['fields']['created']['field'] = 'created'; $handler-&gt;display-&gt;display_options['fields']['created']['label'] = ''; $handler-&gt;display-&gt;display_options['fields']['created']['alter']['alter_text'] = 0; $handler-&gt;display-&gt;display_options['fields']['created']['alter']['make_link'] = 0; $handler-&gt;display-&gt;display_options['fields']['created']['alter']['trim'] = 0; $handler-&gt;display-&gt;display_options['fields']['created']['alter']['word_boundary'] = 1; $handler-&gt;display-&gt;display_options['fields']['created']['alter']['ellipsis'] = 1; $handler-&gt;display-&gt;display_options['fields']['created']['alter']['strip_tags'] = 0; $handler-&gt;display-&gt;display_options['fields']['created']['alter']['html'] = 0; $handler-&gt;display-&gt;display_options['fields']['created']['hide_empty'] = 0; $handler-&gt;display-&gt;display_options['fields']['created']['empty_zero'] = 0; /* Поле: Материал: Заголовок */ $handler-&gt;display-&gt;display_options['fields']['title']['id'] = 'title'; $handler-&gt;display-&gt;display_options['fields']['title']['table'] = 'node'; $handler-&gt;display-&gt;display_options['fields']['title']['field'] = 'title'; $handler-&gt;display-&gt;display_options['fields']['title']['label'] = ''; $handler-&gt;display-&gt;display_options['fields']['title']['alter']['alter_text'] = 0; $handler-&gt;display-&gt;display_options['fields']['title']['alter']['make_link'] = 0; $handler-&gt;display-&gt;display_options['fields']['title']['alter']['alt'] = 'Просмотр полное версии новости'; $handler-&gt;display-&gt;display_options['fields']['title']['alter']['trim'] = 0; $handler-&gt;display-&gt;display_options['fields']['title']['alter']['word_boundary'] = 1; $handler-&gt;display-&gt;display_options['fields']['title']['alter']['ellipsis'] = 1; $handler-&gt;display-&gt;display_options['fields']['title']['alter']['strip_tags'] = 0; $handler-&gt;display-&gt;display_options['fields']['title']['alter']['html'] = 0; $handler-&gt;display-&gt;display_options['fields']['title']['hide_empty'] = 0; $handler-&gt;display-&gt;display_options['fields']['title']['empty_zero'] = 0; $handler-&gt;display-&gt;display_options['fields']['title']['link_to_node'] = 1; /* Критерий сортировки: Материал: Дата создания */ $handler-&gt;display-&gt;display_options['sorts']['created']['id'] = 'created'; $handler-&gt;display-&gt;display_options['sorts']['created']['table'] = 'node'; $handler-&gt;display-&gt;display_options['sorts']['created']['field'] = 'created'; $handler-&gt;display-&gt;display_options['sorts']['created']['order'] = 'DESC'; /* Фильтр: Таксономия: ID Термина (с глубиной) */ $handler-&gt;display-&gt;display_options['filters']['term_node_tid_depth']['id'] = 'term_node_tid_depth'; $handler-&gt;display-&gt;display_options['filters']['term_node_tid_depth']['table'] = 'node'; $handler-&gt;display-&gt;display_options['filters']['term_node_tid_depth']['field'] = 'term_node_tid_depth'; $handler-&gt;display-&gt;display_options['filters']['term_node_tid_depth']['value'] = array(   '0' =&gt; '50', ); $handler-&gt;display-&gt;display_options['filters']['term_node_tid_depth']['expose']['operator'] = FALSE; $handler-&gt;display-&gt;display_options['filters']['term_node_tid_depth']['vid'] = '1'; $handler-&gt;display-&gt;display_options['filters']['term_node_tid_depth']['depth'] = '0';  /* Display: Блок */ $handler = $view-&gt;new_display('block', 'Блок', 'block_1'); $handler-&gt;display-&gt;display_options['block_description'] = 'Последнии новости сайта'; $handler-&gt;display-&gt;display_options['block_caching'] = '8';</p>

У меня все реализована на таксономии и словаре. В словаре есть раздел Новости. Критерий берет материал только из данного раздела.
Плюс в блок выводиться 5 последних.

Даже просто посмотреть тебе хватит разобраться. Дальше по аналогии можешь своять свое.
Удачи.


Опубликовано Лёхха в чт, 18/02/2010 - 10:35.

Спасибо большое за ответ!
При вставке кода пишет "Unable to interpret view code" (теги из кода убрал :) )


Опубликовано Лёхха в чт, 18/02/2010 - 10:38.

похоже разобрался, все символы типа > преобразовались в коды :) сейчас поправлю, попробую вставить


Опубликовано Лёхха в чт, 18/02/2010 - 10:47.

не, все равно не хочет интерпретировать :(


Опубликовано toshaxtsa в чт, 18/02/2010 - 11:23.

Там возможно мои префиксы идут к таблицам.
Еще тип материала скорее всего мой стоит.


Опубликовано Лёхха в чт, 18/02/2010 - 12:07.

спасибо!


Опубликовано Лёхха в чт, 18/02/2010 - 13:06.

Я понял подход - в виде создается блок, в котором отображаются несколько новостей, также в этом виде создается страница, на которую выводятся все новости. Ссылка "more" внизу блока указывает на эту страницу.

Для отображения блока только на главной странице, я создал пустую страницу и сделал ее в качестве главной. Блок из вида я вывожу в область контента только на главную страницу.

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


Опубликовано toshaxtsa в чт, 18/02/2010 - 13:26.

Это уже наверное в сторону темы копать надо.


Новое на сайте

Ссылки партнёров