Drupal часто лають за одноманітність і впізнаваність дизайну, використовуваного на Drupal-сайтах. Те, що за певним сайтом варто CMS Drupal, можна визначити не тільки по URL-адресами специфічного виду, впізнаваним шляхах до папок модулів і головній сторінці у вигляді списку останніх опублікованих документів, але і за стандартною двох-трехколоночной структурі сайту, наявності стандартних форм авторизації і пошуку, хмар тегів, списків нових документів і інших часто використовуваних блоків.
Однак всі ці закиди несправедливі. Тут можна процитувати старий анекдот: «Ви просто не вмієте його готувати». Насправді до Drupal при належному вмінні можна «прикрутити» дизайн та верстку будь-якої складності. Можна до невпізнання «темізіровать», т. Е. Змінювати зовнішній вигляд будь-якого HTML-коду, створюваного Drupal, - все стандартні форми, блоки, документи і списки. Просто для цього потрібно розуміти, як Drupal генерує вихідні дані (інформація про це була розміщена в моїй попередній статті ), І вміти перевизначати цей висновок. Прикладів таких детально темізірованних сайтів багато, в одній з врізок ви можете знайти посилання на деякі з них.
У цій статті я розповім про три етапи темізаціі, що охоплюють практично 100% завдань, пов'язаних зі зміною зовнішнього вигляду сайту: розробка загального шаблону для всіх сторінок сайту і «кастомних» шаблонів для обраних сторінок; розробка шаблонів для різних типів документів і списків; зміна зовнішнього вигляду форм (пошук, авторизація та будь-які інші стандартні і створювані зовнішніми модулями форми). Але перш ніж переходити до вирішення завдань, познайомимося з основними використовуваними термінами і структурою будь-якої «теми оформлення».
використовувані терміни
Тема оформлення - це набір файлів, що відповідають за зовнішній вигляд сайту. Тема оформлення визначає HTML-макет сторінки, які використовуються на ній CSS-файли і JavaScript. Незважаючи на те що шаблони, які використовуються в темах оформлення, дозволяють виконувати PHP-код, в них не повинно бути коду, не пов'язаного з відображенням інформації. Тема оформлення повинна на вході отримувати готові масиви даних, а на виході створювати з них HTML-код. Логіка програми реалізується в модулях.
Для створення тем оформлення можна використовувати різні шаблонні «Пошуку» (шаблонизатор), такі як Smarty , PHPTAL та ін., однак за замовчуванням в системі може бути застосований лише PHPTemplate - шаблонний «движок», спеціально розроблений для Drupal. Якщо треба розробити тему оформлення для Drupal з нуля, то рекомендується використовувати саме його, але якщо на Drupal переноситься існуючий сайт, для якого вже розроблений шаблон на основі одного з альтернативних шаблонизатор, то можна додати його, розмістивши відповідний «движок» в папці sites / all / themes / engines вашої інсталяції Drupal. Завантажити модулі, що інтегрують Drupal з зовнішніми шаблонизатор, можна за посиланням http://drupal.org/project/Theme+engines.
Всі сторінки розділяються на регіони - області сторінки, кожна з яких може містити один або кілька блоків з даними. Наприклад, за замовчуванням більшість стандартних тем оформлення складається з п'яти регіонів: ліва і права колонка, шапка, підвал сайту і регіон з основним його вмістом. Такий макет сторінки найбільш популярний, оскільки задовольняє вимогам більшості користувачів; з його допомогою зручно будувати новинні сайти і блоги. Однак це не означає, що всі сайти, які використовують Drupal, повинні мати таку структуру. Розробник може визначати в макеті сторінки будь-яку кількість додаткових регіонів і розміщувати їх в будь-яких найнесподіваніших місцях.
Блок - це набір особливим чином сформатував даних. Зовнішній вигляд і вміст блоку визначаються створює його модулем і функціями темізаціі (докладніше про ці функції розповідається в третій частині попередньої статті ), А розташування - адміністратором сайту. Використовуючи спеціальний графічний інтерфейс, адміністратор може методом drag-and-drop розмістити будь-який блок системи в будь-якому з доступних регіонів. Прикладом блоку може служити форма входу в систему або хмара тегів.
Замість розробки власної теми оформлення можна скачати і встановити на своєму сайті одну з готових тем. Багато тем можуть бути детально налаштовані через інтерфейс адміністратора: ви зможете змінити колірну гамму, число колонок, ширину колонки з основним контентом і логотип сайту, не змінюючи код шаблону. Крім того, завжди можна доопрацювати для себе будь-яку з існуючих тем оформлення.
Якщо вас влаштовує такий варіант, то ви можете далі не читати цей текст, а поекспериментувати з темами оформлення, посилання на які наведені в урізанні. Далі розповідь піде про анатомію теми оформлення для «движка» PHPTemplate.
Опис схеми сторінки
На зображенні нижче приведена загальна схема сторінки Drupal.
1 - основний шаблон сторінки, визначається у файлі page.tpl.php;
2-1 - регіон «ліва колонка» (визначається змінною $ left в шаблоні page.tpl.php);
2-2 - регіон «основний вміст сторінки» ($ content),
2-3 - регіон «підвал сайту» ($ footer);
3 - блоки, розміщені в лівій колонці, визначаються шаблонами block.tpl.php або його модифікаціями (block-region.tpl.php і ін.);
4 - документи з «стрічки новин», визначаються шаблоном node.tpl.php або його модифікаціями (наприклад, node-ім'я типу контента.tpl.php).
Посилання на інші частини цієї статті:
Зміст всіх статей: http://romka.eu/blog/my-drupal-articles