Блок новостей с модулем Views

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

Аватар пользователя Mitas Mitas 6 июля 2009 в 1:38

Я пока не большой специалист в области веб-технологий и Друпала в частности, но решил написать этот пост потому что сам столкнулся с этой же проблемой - Блок новостей с помощью Views.
Итак, понадобятся модули cck, filefield, imageapi, imagecache, imagefield - для создания картинки-тизера для новости (про картинку говорить не буду, т.к. есть хорошие видеоуроки - Imagefield and Imagecache и http://drupal.by/node/165), taxonomy для разбивки новостей по категориям(на нём тоже останавливаться не буду - материала достаточно, например http://firsthand.ru/node/8, там хоть и для 5-го, но разница небольшая), и views+panels непосредственно для вывода блока новостей.
Устанавливаем и включаем вышеуказанные модули, переходим на страницу редактирования представлений - Administer >> Site building >> Views, далее жмём add, указываем View type: Node, жмём Next. Далее Add display - Block, и настраивам вид: Name и Title - какие нравятся, Style: Grid (Number of columns: 1; Alignment: Horizontal), Row style: Fields, Use pager: No, Items to display: 1, остальное в Basic settings можно не трогать. Добавляем поля (Fields)- Content: story > smaller image linked to node (это правило из imagecache, которое Вы создали до редактирования вида); Node: Title; Node: Teaser, я больше ничего не добавлял, Вы - по желанию. Добавляем фильтры (Filters) - Node: Published > Yes; Taxonomy: Term > Select terms from vocabulary (ваш словарь): Ваш термин. И сортируем (Sort criteria) - Node: Post date > Descending (по убыванию). Сохраняем. Блок с выводом одной новости с картинкой-тизером и кратким описанием готов.
Создаём блок (в моём случае - правый) с названиями новостей. Можно для этого создать дополнительное представление, можно делать и в текущем. Add display - Block. Basic settings: Name и Title - какие нравятся; Style: HTML List > List type: Unordered list (ненумерованый список); Row style: Fields; Items to display: 3. Поля (Fields) - Node: Title > ставим галочку Link this field to its node. Filters - Node: Published > Yes; Taxonomy: Term > Select terms from vocabulary (ваш словарь): Ваш термин (выбираем тот же термин, что и в предыдущем блоке). Sort criteria - Node: Post date > Descending. Сохраняем.
Далее добавляем Mini panel. Переходим Administer >> Site building >> Mini panels, жмём add, выбираем Two column stacked , называем как-то нашу панель и жмём "Save and proceed", на следующей вкладке оставляем Required contexts > Node >> "Save and proceed". Наполняем колонки контентом. Left side - жмём "+" >> Add content >> Views >> Название представления >> Display:выбираем первый блок (с одной новостью) >> На следующей вкладке отмечаем Num posts: 1 >> Finish. Right side - жмём "+" >> Add content >> Views >> Название представления >> Display:выбираем второй блок (с названиями новостей) >> На следующей вкладке отмечаем Num posts: 3 >> Finish. Top - "+" >> Add content >> New custom content >> Title: оставляем пустым, Body:<a href="термин таксономии">Термин таксономии<a>(т.е. создаём ссылку на страницу термина) >> Finish. Сохраняем.
Переходим на страницу добавления блоков Administer >> Site building >> Blocks, находим нашу панель, и вставляем её в нужный регион (к примеру, content), настраиваем видимость(у меня видна только на главной), сохраняем настройки, и получаем блок новостей такого вида:
Конечно подравниваем его при помощи CSS по своему вкусу. Посмотреть результат можно у меня на сайте http://nikolaevskiykurier.com
Извините, если что-то не учёл или криво рассказал.

Комментарии

Аватар пользователя Kosmos Kosmos 6 июля 2009 в 23:59

Как сделать такое же, но только картинка вставляется в текст fceditor'ом со стороней галереи? То есть, создаю новость, вставляю картинку размером - 600х450, нужно чтоб на главной, картинка выводилась размером - 100х100.

Аватар пользователя maximserg maximserg 5 октября 2009 в 20:45

Спасибо, только начал разбираться в drupal а не можете подсказать как подправить css. Хочу дописать в конец файла style.css темы. пробывал что то типа
div.block-panels_mini-2 {
float: left;
margin-right: 5px;
но не получается. Подскажите как подравнять также как у вас на примере

Аватар пользователя Mitas Mitas 3 ноября 2009 в 14:44

Долго не появлялся.

"maximserg" wrote:
Ну тоесть чтоб текст обтекал картинку

Если ещё актуально, то стиль задаётся именно для картинки, а не для блока.
Т.е. типа

.imagecache-linked img {
float:left;
margin:0 5px 5px 0;
}
Аватар пользователя nazimka nazimka 7 декабря 2009 в 17:16

Маленький вопрос к автору топика. Сделал вывод 1 новости с картинкой - все нормально. Далее пытаюсь сделать вывод 2 новости там же, норм. И вот самое интересное - создаю контент (который не относиться к новостям), но он автоматом лезет в вывод новостей и первая новость пропадает грубо говоря в порядке очереди).

Мой первый сайт на друпал dreamcars.org.ua

Аватар пользователя nazimka nazimka 8 декабря 2009 в 0:21

nazimka wrote:
Маленький вопрос к автору топика. Сделал вывод 1 новости с картинкой - все нормально. Далее пытаюсь сделать вывод 2 новости там же, норм. И вот самое интересное - создаю контент (который не относиться к новостям), но он автоматом лезет в вывод новостей и первая новость пропадает грубо говоря в порядке очереди).

Мой первый сайт на друпал dreamcars.org.ua

все, спс, вопрос снят, уперся был в таксономию

Аватар пользователя Cvalya Cvalya 24 января 2010 в 5:14

Следовал инструкциям (кроме некоторых особенностей конкретно моей задачи), но картинки не хотят выводиться. То есть, альтернативный текст (к картинке) выводиться а сама картинка нет.
Было создано Field поле с двумя размерами картинки (одна для тизера, вторая для полной новости). Далее загружаю картинку, во время создания материала она показывается, а после нет.
Смог вывести картинку в тизер только с помощью Views, да и то, просто картинку без "правил" на нужный размер. И она соответственно выводиться в полном размере. Не очень представляю в чем ошибка. Может что то забыл!?

Аватар пользователя Oleko85 Oleko85 30 марта 2010 в 22:49

В блоке отображаются заголовки полей, то есть "Картинка": Картинка, "Анонс": текст анонса.
В сск все заголовки hidden
Что делаю не так? где убрать?
Спасибо!

Аватар пользователя Mitas Mitas 31 марта 2010 в 4:27

"Oleko85" wrote:
В блоке отображаются заголовки полей, то есть "Картинка": Картинка, "Анонс": текст анонса.

На странице редактирования вьюсов в блоке Fields в Title-ах всех полей уберите этот самый title, т.е. заголовок (просто оставьте пустое место).

Аватар пользователя buldozer_kpi buldozer_kpi 30 мая 2010 в 22:25

Сделал, вроде, как было описано в топике. Всё выводиться, но есть одна проблема - новость, которая отображается в левом окне также отображается и в списке новостей правого окна. Как это исправить? Заранее спасибо!

Аватар пользователя Oleksa@drupal.org Oleksa@drupal.org 31 мая 2010 в 0:08

Если использовать аргументы, то достаточно два дисплея одной вьюшки вместо >20 . Так как сделано сейчас просто "тихий ужас".

buldozer_kpi
Items to display
Offset: The number of items to skip. For example, if this field is 3, the first 3 items will be skipped and not displayed. Offset can not be used if items to display is 0; instead use a very large number there.

Аватар пользователя buldozer_kpi buldozer_kpi 31 мая 2010 в 10:21

"<a href="mailto:Oleksa@drupal.org">Oleksa@drupal.org</a>" wrote:
Items to display
Offset: The number of items to skip. For example, if this field is 3, the first 3 items will be skipped and not displayed. Offset can not be used if items to display is 0; instead use a very large number there.

Большое спасибо!!! Как-то совсем забыл об этой возможности.

Аватар пользователя NIKS_ArtReaktor NIKS_ArtReaktor 19 октября 2010 в 17:12

Скажите а это не тоже самое что сделать отдельно анонс новости например(стандартное переключение когда создаешь страницу например). В анонсе прописываешь и картинку и текст.

И уже с помощью Views выводишь новость в таком виде.
Заголовок
Анонс ( в нем картинка + текст), причем как нужно, например СКэдитором сделанное.

Возможно я чего непонял, заранее простите.

Аватар пользователя Nareg Nareg 1 февраля 2011 в 1:05

Здравствуйте все)

Решил попробовать выполнить этот урок, но новости у меня почему-то не меняются в режиме слайд-шоу( Или так и должно быть?

Вобщем хотел сделать что-то вроде того как сейчас на http://nikolaevskiykurier.com

Подскажите пожалуйста)

Версия drupal 6