Темізація полів в drupal 7
Темізація це зміна зовнішнього вигляду і іноді логіки відображення поля через перевизначення шаблонів і функцій заданих за замовчуванням.
Шаблон для темізаціі полів в Drupal 7, якщо не заданий специфічний знаходиться в
Його ми і будемо перевизначати у власній темі.
Перевизначення для темізаціі поля може бути вироблено або через файл шаблону зі спеціальним ім'ям, або через функцію в php коді.
Розглянемо темізаціі полів через спеціально названі шаблони в папці поточної теми.
Шаблон для темізаціі полів певного типу
Замість FIELD_TYPE підставляємо тип поля, дізнатися його назву можна при створенні додаткових полів до матеріалів, якщо поточний мова англійська. Найчастіше застосовується до полів типу image, text, file.
Наприклад, для темізаціі всіх текстових полів field - text.tpl.php, зображень field - image.tpl.php, всіх пов'язаних термінів таксономії field - taxonomy-term-reference.tpl.php
Шаблон для темізаціі поля з певною назвою
Де FIELD_NAME це машинне ім'я поля заданий в drupal, воно унікальне, всередині однієї установки drupal.
Машинне ім'я поля можна подивитися на сторінці / admin / structure / types, для цього потрібно перейти в управління полями матеріалу.
На англ це manage fields.
Шаблон для полів в певних типах матеріалів (сутностей)
Де BUNDLE це тип створеного у нас на сайті матеріалу.
Шаблон буде застосований для перевизначення всіх полів зазначеної суті (контенту безумовно типу).
Наприклад ми створили новий тип матеріалу, статті з машинним ім'ям article. Шаблон буде наступним field - article.tpl.php
Поєднання шаблонів для темізаціі
Шаблон для всіх полів певного типу всередині суті (контенту певного типу)
Шаблон буде застосований лише до певного типу поля і тільки в конкретному типі контенту.
два тире в назві шаблону "-" є логічним роздільником для поділу типів і визначення шляху до матеріалу.
Увага: в drupal 7 досить хороша система кешування, поки не скинете кеш, навіть якщо він не включений, результат швидше за все не побачите.
Скинути кеш можна на сторінці / admin / config / development / performance.
Порядок пошуку шаблонів для темізаціі полів
# 13;-
# 13;
- першим шукається шаблон поля виду field--
-- .tpl.php в папці поточної теми. # 13; - якщо не знайдений шаблон поля field--
-- .tpl.php, то шукається шаблон поля field-- .tpl.php в папці поточної теми. # 13; - якщо не знайдені попередні шаблони полів, то шукається шаблон поля виду field--
.tpl.php в папці поточної теми. # 13; - якщо не знайдені попередні шаблони полів, то шукається шаблон поля виду field--
.tpl.php в папці поточної теми. # 13; - якщо не знайдені попередні шаблони полів, то шукається шаблон поля field.tpl.php в папці поточної теми. # 13;
- якщо в папці теми не знайдені шаблони полів, то використовується файл /modules/field/theme/field.tpl.php. # 13;
Темізація через функції у файлі template.php нашої теми
Приклад коду для темізаціі конкретного поля з машинним ім'ям field_images
Логіка назви функції таж сама, що і у шаблонів, тільки замість подвійного тире "-" потрібно робити подвійне підкреслення "__"