Я пока не большой специалист в области веб-технологий и Друпала в частности, но решил написать этот пост потому что сам столкнулся с этой же проблемой - Блок новостей с помощью 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
Извините, если что-то не учёл или криво рассказал.
Комментарии
Спасибо, просто и понятно. Пригодилось.
Как сделать такое же, но только картинка вставляется в текст fceditor'ом со стороней галереи? То есть, создаю новость, вставляю картинку размером - 600х450, нужно чтоб на главной, картинка выводилась размером - 100х100.
Просто шикарная инструкция, спасибо!
А с помощью каких модулей делали раздел Добавить объявление?
CCK,Taxonomy, Taxonomy menu, Hierarchical Select. Или нужно подробней?
Буду пробовать! Попробую сам разобраться. Будут вопросы - задам!
Спасибо, только начал разбираться в drupal а не можете подсказать как подправить css. Хочу дописать в конец файла style.css темы. пробывал что то типа
div.block-panels_mini-2 {
float: left;
margin-right: 5px;
но не получается. Подскажите как подравнять также как у вас на примере
.
Ну тоесть чтоб текст обтекал картинку
Или настроить css можно как то по другому?
Долго не появлялся.
Если ещё актуально, то стиль задаётся именно для картинки, а не для блока.
Т.е. типа
float:left;
margin:0 5px 5px 0;
}
Маленький вопрос к автору топика. Сделал вывод 1 новости с картинкой - все нормально. Далее пытаюсь сделать вывод 2 новости там же, норм. И вот самое интересное - создаю контент (который не относиться к новостям), но он автоматом лезет в вывод новостей и первая новость пропадает грубо говоря в порядке очереди).
Мой первый сайт на друпал dreamcars.org.ua
все, спс, вопрос снят, уперся был в таксономию
Следовал инструкциям (кроме некоторых особенностей конкретно моей задачи), но картинки не хотят выводиться. То есть, альтернативный текст (к картинке) выводиться а сама картинка нет.
Было создано Field поле с двумя размерами картинки (одна для тизера, вторая для полной новости). Далее загружаю картинку, во время создания материала она показывается, а после нет.
Смог вывести картинку в тизер только с помощью Views, да и то, просто картинку без "правил" на нужный размер. И она соответственно выводиться в полном размере. Не очень представляю в чем ошибка. Может что то забыл!?
В блоке отображаются заголовки полей, то есть "Картинка": Картинка, "Анонс": текст анонса.
В сск все заголовки hidden
Что делаю не так? где убрать?
Спасибо!
На странице редактирования вьюсов в блоке Fields в Title-ах всех полей уберите этот самый title, т.е. заголовок (просто оставьте пустое место).
Сделал, вроде, как было описано в топике. Всё выводиться, но есть одна проблема - новость, которая отображается в левом окне также отображается и в списке новостей правого окна. Как это исправить? Заранее спасибо!
Если использовать аргументы, то достаточно два дисплея одной вьюшки вместо >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.
Большое спасибо!!! Как-то совсем забыл об этой возможности.
Скажите а это не тоже самое что сделать отдельно анонс новости например(стандартное переключение когда создаешь страницу например). В анонсе прописываешь и картинку и текст.
И уже с помощью Views выводишь новость в таком виде.
Заголовок
Анонс ( в нем картинка + текст), причем как нужно, например СКэдитором сделанное.
Возможно я чего непонял, заранее простите.
Здравствуйте все)
Решил попробовать выполнить этот урок, но новости у меня почему-то не меняются в режиме слайд-шоу( Или так и должно быть?
Вобщем хотел сделать что-то вроде того как сейчас на http://nikolaevskiykurier.com
Подскажите пожалуйста)
Версия drupal 6