[РЕШЕНО] Новости в Views (подробно)

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

Аватар пользователя NordWolf NordWolf 20 февраля 2009 в 16:52

Всем доброго времени суток.
С друпалом сталкнулся совсем недавно, опыта работы в подобных системах практически нету. Установил себе версию 6.9, локализовал. Настроил основные параметры. С views (версия модуля 2.3, не локализована) сталкнулся когда начал создавать раздел "НОВОСТИ". Уже 3-ий день бьюсь но не могу создать такую вещь. Дело в том, что я с помощью стандартных средств Drupal в блоке Primary Links отображаю все разделы сайта, в том числе и новости. При наведени на этот раздел, появляется внизпадающее меню с подразделами(см. прикрепленный файл) - Новости в мире IT, Новости Фирмы, Новости сайта. Т.е. иерархия такова

-Новости (page)
--Новости в мире IT (book page)
--Новости сайта (book page)
--Новости фирмы (book page)

В таксономии создал словарь "Новости" и добавил термины идентичные названиям подразделам сайта. Объясните, пожалуйста, пошагово, как мне сделать в views, чтобы на главной странице новостей (раздел Новости) отображались в порядке убывания(самая свежая вверху) новости из всех подразделов, и чтобы при переходе в подраздел отображались новости соответствующего подраздела так же в порядке убывания. Вид новости должен быть следующий - дата добавления, краткое содержание, кнопочка "читать дальше". При этом добавлять и редактировать новости мог бы только админ.

До этого пытался сделать по примеру на версии модуля Views 1х,но как выяснилось дизайн и функционал от версий 2.3 отличается и дял меня многое непонятно.

Буду вам очень благодарен.

ВложениеРазмер
Иконка изображения Primary_links_news.JPG5.96 КБ

Комментарии

Аватар пользователя CALLlA@drupal.org CALLlA@drupal.org 20 февраля 2009 в 17:38

Создаете 4 вьюса.
1. Новости по адресу /news, указываете вывод в виде тизеров, фильтруете по Node: Published и термин = news, сортируете по Node: Created Time.
2. Новости в мире IT по адресу /itnews, фильтруете по Node: Published и термин = IT news Node: Created Time.
Для остальных разделов меняется только путь и термин, по которому осуществляется фильтрация.

/admin/user/access по этому адресу создаете нужные роли, которым и задаете возможность редактирования новостей.

Аватар пользователя NordWolf NordWolf 10 ноября 2015 в 11:46

Так,пробуем создать первый вьюс

Заходим Views > Add
View Name: News
Discription: Страница Новостей
Tag: news
Type: Материал (перевод видимо берётся с локализации самого движка, тобишь материал=nodе)

Next > Default(меняем настройки по умолчанию):
Заголовок(title): Новости
Raw Style: Материал > Row style options (галочки на Display only teaser, Display links)
Фильтр > Add >
Материал: Опубликовано
Таксономия: Term > Vocabulary: Новости, Selection type: Dropdown

Sort criteria > Материал: Post date > Add > Sort order: ascending
Granularity: Minute

Далее выбираем Страница (Page) > Add Display.
Путь (Path) > News
Меню (Menu) > Тип: Normal menu entry (Заголовок: Новости, Меню: Primary Links)

<СОХРАНИТЬ>

Далее заходим в admin/user/roles:
Выбираем Роли (вконце галочку: модуль views -
access all views, administer views)

Я лично создал роль "администратор" и поставил у себя в учётке галочку.

ИТАК, на данном этапе мы имеем в Primary Links кнопочку НОВОСТИ, при нажатии на которую отображаются все разделы сайта. Но нужно лишь 3, а именно -
--Новости в мире IT (book page)
--Новости сайта (book page)
--Новости фирмы (book page)

Что не так?
Немного непонятно где пишется термин (news, IT news). В фильтры > Таксономия: Term > Operator: is one of: и здесь выбирается?

Аватар пользователя CALLlA@drupal.org CALLlA@drupal.org 20 февраля 2009 в 23:27

К примеру, у нас есть 3 вида новостей. Они помечаются тегами it, world, company.
В фильтрах находим список тегов и жмем is one of company. Созданный вид будет выводить новости, которые помечены тегом company. Если нам нужно на одной странице выводить вместе новости о мире, компании и IT, давим на ctrl и мышкой в списке выбираем it, company, world.
Нулевой пользователь(созданный при инсталяции друпала) имеет уже по умолчанию доступ ко всему. Для создания новостей пользователю нужен доступ к созданию нод, а не к редактированию вьюсов. Для пользователей(в т.ч. анонимов) же нужно просто установить возможность просмотра вьюсов.

Аватар пользователя NordWolf NordWolf 21 февраля 2009 в 16:20

Так, сейчас будем пробовать. Пока ещё несколько вопросов:
1)Для каждого пункта меню (Новости, Новости в мире IT, Новости сайта, Новости фирмы) нужно создавать отдельный вьюс или можно в одном вьюсе просто страницы добавлять(add display) и изменять параметры терминов?
2) Как сделать внизпадающее меню как в первом прикреплённом файле (Primary_links_news.JPG)?

Аватар пользователя NordWolf NordWolf 10 ноября 2015 в 11:46

Получилось. Сделал следующим образом. Создал 4 вьюса, на каждом по одной странице. В таксономии создал словарь "Категория Новости" и добавил 3 соотвествующих. Для главной странице со всеми 3-мя категориями я выбрал в качестве фильтра - сам словарь. Для остальных подразделов новостей в качестве фильра - один из терминов словаря. При это для каждой странички вьса выбрал адреса типа news/it, news/comapny, news/site. Далее зашёл в уже имеющиеся разделы внизпадающегося меню и заменил ссылки на ноды вида node/23 на соотвествующие ссылки вьюсам. И всё... заработало.
Вот например параметры страницы НОВОСТИ ФИРМЫ:

Аватар пользователя NordWolf NordWolf 22 февраля 2009 в 15:49

Возник теперь такой вопрос. Как можно сделать чтобы в анонсе(тизе) и в последствии в самой новости потом вставлялись картинки (мини, полный размер)? Какими лучше модулями пользоваться?

Аватар пользователя CALLlA@drupal.org CALLlA@drupal.org 22 февраля 2009 в 20:55

Как вариант, для размещения картинок в тексте IMCE+TinyMCE.

Хороши также imagecache+imagefield+lightbox. В этом случае Вы настраиваете правила, по которым закачиваемая картинка будет редактироваться(например, сжимать до 100 пикселей по ширине); в свойствах полей можно установить, что для тизеров картинка выводится 100Х100, а в полной версии появляется лайтбокс. Естественно, этими полями можно гибко манипулировать в тех же вьюсах.

Аватар пользователя NordWolf NordWolf 22 февраля 2009 в 21:43

А чем эти модули отличаются от редакоторов типа FCKEditor, BUEditor? И, с вашей точки зрения, в каких случаях что лучшие использовать?

Аватар пользователя CALLlA@drupal.org CALLlA@drupal.org 22 февраля 2009 в 22:53

И BUEditor, и TinyMCE позволяют гибко настраивать функционал и вид редактора, настраивать отдельно для каждой роли.
Лично мне TinyMCE приглянулся функционалом по работе с таблицами и копипастом с ворда(он работает далеко не идеально).
Вариант с imagecache+... кардинальным образом отличается от вышеизложенного. Это не визивиг, который позволяет гибко форматировать Ваш контент. Это решение позволяет жестко задать, что, где и как будет отображаться на страницах Вашего сайта. Т.е. пользователь просто в нужные поля добавляет текст, фото, а уже в зависимости от настроек системы в разных ситуациях этот контент будет представлен по-разному.

Аватар пользователя NordWolf NordWolf 23 февраля 2009 в 21:18

Спасибо, хм... CALLlA (не знаю как вас зовут), вы мне очень помогли. Считаю что вопрос разрешён. Помечаю тему как решённую.