Статьи

Простий спосіб створення модуля новин на CMS Drupal

Звичайна потреба будь-якого корпоративного сайту - мати колонку новин, а часто і не одну - до новин компанії можуть додатися новини в галузі, новини постачальників, партнерів і так далі. Drupal дозволяє легко реалізувати вищеописане і тут ми розглянемо один з найпростіших і легких в сенсі споживаних на сервері ресурсів спосіб, без підключення зайвих модулів.

Drupal в своїй базовій конфігурації спочатку налаштований на висновок анонсів додаються матеріалів на головній сторінці, проте це навряд чи кого-небудь влаштує на корпоративному сайті: на головній все ж прийнято розміщувати інші речі. Тому наші новини будуть виводитися на окремій сторінці, а їх анонс - перші 3-5 заголовків з датами можуть бути розміщені вже де завгодно, або в одній з бічних колонок, або під основним матеріалом на головній.

Першим кроком ми створимо новий тип матеріалу з машинним назвою «news». За структурою він нічим не буде відрізнятися від звичайної сторінки.

Другим кроком зробимо копію файлу шаблона нода node.tpl.php всередині каталогу з використовуваної на сайті темою і перейменуємо його node-news.tpl.php (цей синтаксис вірний для 6-ої версії, в 7-ій версії Drupal назва файлу повинна буде містити два тире перед news: node-news.tpl.php).

Всередині файлу за великим рахунком досить буде внести всього два зміни: відключити висновок змінної $ submitted (або обмежити її висновок тільки для адміністратора) і додати новий рядок для виведення відформатованої дати, що витягується з поля, що зберігає мітку часу створення матеріалу, наприклад, таким чином:

<Div class = "news-date"> <? Php print date ( "dmY", $ node -> created)?> </ Div>

При цьому цей час по-замовчуванню береться поточним, однак його значення завжди є для ручної правки.

Далі нам не обійтися без модуля Views (Часто перекладається як «Уявлення»), який необхідний тут для створення блоку з анонсами новин. Взагалі кажучи, без цього модуля обійдеться лише рідкісний сайт на Drupal, бо практично завжди потрібно організувати висновок на сторінках сайту тих чи інших матеріалів, відібраних за різними критеріями і різним способом представлених.

За допомогою цього модуля ми створюємо уявлення, витягає дані тільки типу news з встановленим атрибутом «Опубліковано» і відсортовані за датою в порядку убування. Усередині уявлення можна створювати так зване «Відображення» у вигляді сторінки, блоку, стрічки і т.д. Використовуючи встановлені критерії вибірки по-замовчуванню, створюємо відображення типу Блок для виведення анонсів новин:

Використовуючи встановлені критерії вибірки по-замовчуванню, створюємо відображення типу Блок для виведення анонсів новин:

Далі ми могли б всередині того ж уявлення створити нове «відображення» типу Сторінка, визначити його URL та створити відповідний пункт в меню, однак зробимо трохи простіше: використовуємо для посторінкового виведення новин стандартний механізм таксономії. У цьому випадку нам буде простіше в разі необхідності правити шаблон, що містить HTML-коду новини, розташований в файлі node.tpl.php.

Для цього створимо новий словник Новини, що допускає додавання в нього тільки новин і вимагає обов'язкового вибору таксономії (категорії), додамо в нього таксономії Новини і News (якщо нам потрібні новини англійською мовою):

Після адреса таксономії і буде адресою для виведення новин, можна буде привласнити йому псевдонім news:

Ось, власне і все. Залишиться лише зайти на сторінку управління блоками і розмістити новий блок, створений поданням Новини в потрібному регіоні макета нашого сайту.

Якщо сайт корпоративний, можна додати також нову роль користувачів - редакторів новин, і дати цій ролі права на створення і редагування тільки новин.

схоже

Php print date ( "dmY", $ node -> created)?

Новости