Для чого потрібні типи контенту.
Завдяки розподілу контенту на типи ми можемо:
- Для кожного типу контенту визначити зовнішній вигляд, стилі оформлення. Візьмемо для прикладу сайт з блогами і галереями. Ми можемо зробити картинку в блозі вирівняну по центру, а для галереї кілька картинок в ряд.
- Додати або видалити поля. У статті про таксономію ми створили два словника. Підключаються вони до типу матеріалу через додавання полів. До різних типів можна підключити різні словники.
- Повернемося до нашого зразковому сайту де користувачі можуть писати в блог і створювати галереї. Завдяки розподілу контенту на типи ми можемо зробити окремі посилання на блог користувача і на його галереї.
Додавання і видалення полів.
Переходимо в меню Structure → Content Type → Article → Manage fields
На цій сторінці ми можемо додавати / видаляти поля. На даний момент у мене вже існує 4 поля. Саме ці поля потрібно буде заповнювати при додаванні статті. Title - заголовок, Body - текст статті, Image - закачування картинок, URL path setting - поля для введення URL. Додамо ще пару полів для термінів таксономії, створених в попередній статті. Для цього у нас є розділ Add new fields. В поле Lable вписуємо назву нашого поля. Далі в поле Type of data to store потрібно вибрати тип даних. У нашому випадку це Term reference. Останній крок це вибрати widget. Для різних типів даних набір віджетів буде відрізнятися. Нам пропонують вибрати один з трьох. Дане поле я створюю для словника основного меню. На мій погляд найкраще для цього поля підходить Select list. Після натискання Save потрапляємо на сторінку налаштувань. Вся настройка полягає у виборі словника.
Вибравши потрібний словник тиснемо Save field settings і. ні це ще не все. Тепер ми на сторінці налаштувань які будуть застосовуватися до створеного нами полю site_section в типі матеріалів Article. Справа в тому, що одного разу створене поле можна підключати до різних типів матеріалів. Якщо ви зараз перейдете Structure → Content Type → Basic page → Manage то побачите новий розділ Add existing field. У випадаючому списку можна вибрати вже існуючий поле і підключити його не створюючи заново. При цьому основні настройки (в нашому випадку словник термінів) залишаться колишніми. Повернемося до сторінці налаштувань поля для Article.
В налаштуваннях поля в випадаючому списку вибираємо кількість можливих значень. Для основного меню залишаємо 1.
Тепер створимо поле другого словника з тегами. Словник з тегами не має термінів. Терміни будуть додаватися при створенні статті, тому деякі моменти створення поля тегів будуть відрізнятися.
При створенні поля tags в списку Widget вибираємо autocomplit term widget. В результаті отримаємо поле куди можна вводити теги. якщо ви вводите тег який вже існує вам запропонують його вибрати.
В налаштуваннях поля tags в випадаючому списку Number of values я поставив Unlimited. Тегів може бути кілька тому обмежувати не потрібно.
На сторінці manage fields, крім створення / видалення полів, можна визначити порядок їх розташування на сторінці редагування. Нові поля додаються вниз сторінки. Щоб змінити положення поля затисніть хрестик поруч з назвою та перетягніть в потрібну позицію.
Подивимося що у нас вийшло. Переходимо Content → Add content → Article
Начебто все працює. Але працює не так як мені хотілося. Перше що мене не влаштовує - присутність поля Site_section. По суті це поле дублює головне меню створюючи зайву, нікому не потрібне посилання. Далі йде поле Tag. На мою думку, виглядає краще, коли назва поля і посилання-теги розташовані в одному рядку. Останнє що я хочу змінити - відображення словників в тізері.
Приступаємо до усунення недоліків. Переходимо Structure → Content Types → Article → Manage display. Тут ми бачимо таблицю. У стовпці Field перераховані поля, які присутні в нашому типі матеріалу. Стовпець Label відповідає за виведення назви поля. Стовпець формат визначає зовнішній вигляд самого поля.
Поле site_section видалити ми не можемо. Чи не для того ми його створювали. Ми можемо його приховати. Для цього в стовпці format вибираємо hidden або перетягуємо поле site_section в розділ Hidden.
Поле tag. Щоб назва поля перебувало на одному рядку з вмістом, в стовпці Label, замість Above вибираємо Inline. Якщо хочете прибрати назву поля вибирайте Hidden.
Тепер я збираюся прибрати поле Tag з тізера. Під таблицею з полями є розділ Custom display settings. Тут вибираємо режим відображення для якого ми хочемо змінити стандартні настройки, в нашому випадку це teaser. Відзначаємо потрібні нам режими і тиснемо Save. У нас повинні з'явитися два посилання у верхньому правому куті. Тиснемо на Teaser. Для поля Tag в стовпці формат вибираємо Hidden. Тепер теги-посилання будуть відображатися в повній версії, а в тізері немає.
Початківцю сайтоделу вся ця тяганина з полями і типами матеріалів може здатися складною і не потрібною. Насправді все простіше ніж здається. Головне зрозуміти як це працює. Все що вам потрібно це тренування. Створіть свій тип матеріалу, додавайте і видаляйте поля, дивіться що виходить в результаті. Типи матеріалів звільняють нас від стандартів. Завдяки їм ми, не маючи навичок програмування, можемо змінювати зовнішній вигляд сайту.