Как создать новостной блок в Drupal?

12 Ноя 2018

После инсталляции Drupal 8 од­ной из пер­во­сте­пен­ных за­дач по сег­мен­ти­ро­ва­нию кон­тен­та яв­ля­ет­ся соз­да­ние бло­ка но­во­с­тей. Фак­ти­че­ски, мы мо­жем го­во­рить о рас­ши­ре­нии воз­мож­но­с­тей со­зда­ва­е­мо­го сай­та лю­бы­ми блоч­ны­ми струк­ту­ра­ми. Но­вост­ной блок — это все­го лишь од­на из та­ких форм. По­тре­ни­ру­ем­ся в по­стро­е­нии бло­ка но­во­с­тей. Это по­зво­лит в даль­ней­шем по об­ра­зу и по­до­бию обо­га­тить со­дер­жи­мое веб-про­ек­та но­вы­ми вы­ра­зи­тель­ны­ми чер­та­ми.

Нам нужны материалы нового типа: новости

Новостные публикации должны стать теми кирпичиками, из которых строятся блоки новостей на главной странице и подборки материалов на внутренних страницах новостей. Для этого необходимо в ад­ми­нке сайта в меню «Струк­ту­ра» выбрать опцию «Типы материалов» и создать нужный — «Новости».

Добавляем новый типа материалов — новости

Машинное имя, которое присваивает Drupal 8 этому полю может быть любым. Важно только отдавать себе отчет, что это идентификатор типа материалов. В данном случае используется умолчание, делегированное CMS. В даль­ней­шем нам понадобятся представления для новостей — они должны отличаться от машинных имен но­во­ст­но­го ти­па. Это пред­мет осо­бо­го внимание, мы еще вернемся к нему.

Новости, как тип материалов, добавлены

Фактически, мы можем генерировать любые типы материалов под свои потребности. Если планируется оживить по­да­чу серьезного контента, можно создать новый тип — «Афоризмы», задав, как и в случае с новостным контентом, все по­ля по умолчанию и оставив их тонкую настройку на потом. Начать работу над веб-проектом можно и со стартовым на­бо­ром сущ­но­с­тей, который предлагает Drupal 8.

Формируем представление новостей

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

Главное — сформировать одну или несколько новостных рубрик, которые выводятся на главную страницу сайта в ви­де блока (блоков) и дублируются на всех остальных. Впрочем, легко задать исключения или наоборот — перечень кон­крет­ных страниц, где будет доступны новостные блоки. Рубрики новостной ленты регулируются тэгами, облако ко­то­рых так­же доступно посетителю сайта (читайте об этом в статье «Drupal 8: первые шаги»).

Снова идем в ад­ми­нку сайта в меню «Струк­ту­ра», выбираем опцию «Представления», где и задаем два вида пред­став­ле­ний для ранее созданного типа публикации — «Новостей».

Создаем представление для новостного типа материалов

На скриншоте желтой подсветкой выделено поле для машинного имени представления: мало того, что оно должно от­ли­чать­ся от машинного имени новостного типа материалов (см. выше) — желательно, чтобы идентификатор легко за­по­ми­нал­ся. В данном случае — это news.

В категорию новостей можно внести публикации, отмеченный выбранным тэгом

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

Предстоит еще создать и настроить страницу и блок для вывода новостей. Отметка чек-бокса открывает путь к этому процессу. Начнем со страницы:

Настройка страницы представления новостей

Настройка страницы представления новостей не составит труда. Желательно только прописать путь к ней, используя машинное имя, указанное ранее — news. По умолчанию в этом поле Drupal 8 ставит дефис.

Настройка блока представления новостей

Настройка блока представления новостей вообще тривиальна. Все опции настолько очевидны, что говорить о них не имеет смысла.

Теперь остается только в схеме блоков (меню «Струк­ту­ра») расположить блок новостей в нужном месте. И после на­пол­не­ния его контентом — новостная лента сайта готова.

Теги: