Темы К Drupal

Posted on admin
  1. Темы Drupal 8
  2. Темы Drupal

Именно поэтому сегодня мы хотим представить Вам замечательную бесплатную тему drupal. Aug 29, 2012 - Темы – это плагины Drupal, которые придают сайту Drupal новый облик. Эта статья посвящена функционированию системы тем Drupal.

Тема ― важный компонент пользовательского интерфейса (UI) Web-сайта на основе Drupal. В версии Drupal 7 появилась новая методология реализации тем, хотя структура темы существенно не изменилась.

Эта статья учит создавать новые темы Drupal 7. Тема Drupal отделяет логику обработки системы от ее элементов дизайна. Для этого Drupal использует сложную структуру тем, которая состоит из тем, механизмов тем и связей. Компоненты темы взаимодействуют с системами ядра Drupal и элементами дизайна модулей, образуя оригинальный пользовательский интерфейс ― отдельные страницы и формы Drupal. Когда бизнес-логика Drupal отделена от логики представления, код легче поддерживать, а реализацию темы можно менять без необходимости переписывать код, и наоборот.

Архитектура среды Drupal показана. Архитектура среды Drupal. Другие механизмы тем Drupal С Drupal часто используются и некоторые другие механизмы тем.

Темы

В их число входят PHPTAL, wgSmarty, Zengine, Awesomengine, ETS, Haml, XSLengine и Peroxide. Однако в этой статье рассматривается механизм PHPTemplate, потому что это механизм тем по умолчанию, и только он входит в пакет Drupal 7. При желании можно использовать свой собственный механизм. Механизм тем Drupal по умолчанию PHPTemplate, который рассматривается в этой статье, использует для функций тем Drupal типа themefilename отдельные файлы тем с такими именами, как filename.tpl.php.

Каждый из этих файлов содержит HTML-основу и PHP-операторы для работы с динамическими данными. Таким образом, при наличии начальных знаний в области PHP можно легко создавать достаточно сложные темы с помощью PHPTemplate, так как они содержат всего лишь небольшие фрагменты кода. Планирование темы Тема состоит из нескольких файлов. Их количество зависит от сложности темы. В теме может быть всего три файла или несколько десятков, включая графические элементы и различные сценарии, размещенные в нескольких папках в каталоге theme. Показаны типичные описания файлов (цвета, изображения, логотип, шаблоны, таблицы стилей и PHP-файлы), которые могут содержаться в главной папке темы. Игра доббль + алгоритм.

Типичный состав папки темы. Не все эти файлы необходимы для темы, и в некоторых темах нет даже файла каскадных таблиц стилей (CSS), который многие считают абсолютно необходимым.

Структуру темы и то, как она работает, легче понять, когда знаешь, как используются все эти файлы. Рассмотрим некоторые файлы из каталога theme и их функции в рамках общей темы. Файл.info.info — это обязательный файл: он должен присутствовать в Drupal, чтобы тема была видна. Файлы.info указывают Drupal внутреннее имя темы. Например, если имя файла — ibmtheme.info, то Drupal присвоит этой теме имя ibmtheme. Если в теме используются такие элементы, как JavaScript, метаданные, таблицы стилей или прямоугольные области, их также необходимо определить в файле.info. Все остальное не обязательно.

Это демонстрируется на примере содержимого файла.info темы Bartik. Содержимое файла.info темы Bartik; $Id: bartik.info,v 1.5 2010/11/07 00:27:20 dries Exp $ name = Bartik description = A flexible, recolorable theme with many regions. Функция модуля color.

Заключается в том, чтобы предоставить администраторам возможность полностью изменять цветовую схему темы без необходимости вручную перерабатывать таблицу стилей. Если ваша тема требует поддержки модуля цвета, нужно создать каталог color с файлом color.inc и различными вспомогательными файлами. Создание темы Существует два основных метода создания темы: можно построить тему с нуля, или изменить уже существующую.

Темы Drupal 8

В этой статье мы создадим новую тему с нуля. Тем не менее, мы будем держать под рукой существующие темы, чтобы видеть, как выглядит их структура. Создание структуры каталогов Сначала создадим каталог для хранения файлов темы. Самое подходящее место для этого каталога - папка sites/all/themes. Присвоим ему уникальное имя, характерное для нашей темы: оно не должно содержать пробелов. Хотя это не обязательно, полезно также создать подкаталоги для таблицы стилей (CSS-файлов), изображений и сценариев (если они используются). Это поможет сохранить наглядность.

Создание файла.info Файл.info ― это просто текстовый файл, содержащий данные ― как правило, параметры, необходимые для описания структуры, а также содержание и параметры настройки темы. Это текстовый файл, каждая строка которого содержит пару из ключа и значения, причем значение расположено справа, а ключ ― слева от знака равенства ( =).

Пример приведен. Пример содержания файла.info темы Garland; $Id: garland.info,v 1.10 2010/11/07 00:27:20 dries Exp $ name = Garland description = A multi-column theme that can be configured to modify colors and switch between fixed- and fluid-width layouts package = Core version = VERSION core = 7.x stylesheetsall = style.css stylesheetsprint = print.css settingsgarlandwidth = fluid; Information added by drupal.org packaging script on 2011-01-05 version = '7.0' project = 'drupal' Комментарии добавляются после точки с запятой (;) в начале строки. Квадратные скобки ( ) служат для создания массивов связанных значений. Рассмотрим элементы, которые должны или могут включаться в файл.info. Имя Значение name (имя) обязательно. Это должно быть наглядное имя, начинающееся с буквы.

Имя подчиняется тем же ограничениям, что и при формировании функций в PHP, поскольку Drupal использует его для той же цели. Так что имя может содержать цифры и символы подчеркивания ( ), но не дефисы ( -), пробелы или знаки препинания. Синтаксис: name = Garland Описание Ключ description (описание) рекомендуется и должен содержать лишь краткое описание темы. Это описание отображается при выборе темы или на странице Appearance. Синтаксис: description = Тема с несколькими столбцами, в которой можно изменять цвета и переключаться между макетами фиксированной и переменной ширины Скриншот Screenshot ― необязательный ключ.

Он указывает Drupal, где найти эскиз новой темы. Этот эскиз будет также отображаться на странице Appearance. Если не включить этот ключ в файл.info, Drupal вызовет файл по умолчанию screenshot.png из каталога темы по умолчанию. Если вы решили назвать файл эскиза именем, отличным от screenshot.png, или поместили файл в каталог вне основного каталога темы, нужно добавить этот ключ. Синтаксис: screenshot = /images/screenshot.png Чтобы создать скриншот, просто создайте снимок с экрана готовой темы в браузере. Затем обрежьте изображение, измените его размер на 294 x 219 пикселей и сохраните под именем screenshot.png. Поместите этот файл в папку с файлом.info.

Версия Хотя многие популярные темы содержат ключ version, его использование не рекомендуется. Если вы собираетесь разместить свою тему в хранилище тем Drupal, не нужно включать version, потому что когда выпуск упаковывается для загрузки, drupal.org добавляет строку версии автоматически. Но можно включить любую строку версии по своему усмотрению. Синтаксис: version = 1.0 Ядро Ключ core (ядро) - это обязательное значение. Во всех поддерживаемых в настоящее время версиях Drupal нужно указывать версию Drupal, с которой совместимы ваши модули и темы. Заданное значение будет сравниваться с константой Drupal Core Compatibility (она находится в файле include/bootstrap.inc); если совпадение не найдено, Drupal отключит эту тему. Синтаксис константы: Сценарий упаковки Drupal.org автоматически устанавливает это значение на основе параметров совместимости ядра Drupal в каждом узле выпуска (если вы вносите свою тему в проект).

Механизм Ключ engine указывает тип механизма, используемого вашей темой. В большинстве случаев он обязателен. Если engine в файле.info отсутствует, Drupal предполагает, что это отдельная тема, реализованная с помощью файла.theme. Большинство тем из репозитория Drupal.org используют механизм по умолчанию PHPTemplate, поставляемый с ядром Drupal. Синтаксис: engine = phptemplate Базовая тема Если ваша тема ― подтема другой, не забудьте объявить ее базовую тему ( base theme), чтобы обеспечить наследование.

Drupal

Другими словами, в подтеме будет использоваться файл ресурсов базовой темы. Необходимо ввести внутреннее машиночитаемое имя базовой темы. Синтаксис: base theme = garland Области.

Создание новых областей темы Любая часть страницы, которую нужно редактировать на странице администратора Blocks, становится областью. Как правило, она включает в себя заголовок, правую боковую панель, область содержимого и нижний колонтитул. Все области должны быть указаны в файле.info; иначе они не существуют для Drupal. Ключ regions определяет области блока, доступные для темы. Необходимо определить ключ regions, а затем указать внутреннее машиночитаемое имя в квадратных скобках. После этого нужно в качестве применимого значения указать имя, понятное для человека. Синтаксис: regionshighlighted =Mission Statement Если вы решили не определять области, то для темы Drupal 7 предполагаются следующие значения: regionsheader = Header regionshighlighted = Highlighted regionshelp = Help regionscontent = Content regionssidebarfirst = Left sidebar regionssidebarsecond = Right sidebar regionsfooter = Footer Можно переопределить эти области для своих потребностей.

В этом случае необходимо объявить линию. Синтаксис: regionshighlighted =Mission Statement Функции На странице конфигурации темы можно переключать различные элементы страницы. Флажками, отображаемыми на странице конфигурации темы, управляет ключ features (см. Таким образом, можно исключить флажки для элементов, которые тема не определяет или не использует. Пропуск записи исключает флажок для данной функции; если не определить никаких функций, то будут отображаться все флажки, как предполагается по умолчанию. Страница настройки функций темы.

Показаны все элементы, доступные для ключа features. Указание функций темы в файле.info features = logo features = name features = slogan features = nodeuserpicture features = commentuserpicture features = favicon features = mainmenu features = secondarymenu Таблицы стилей Раньше темы Drupal по умолчанию использовали таблицу стилей style.css. Однако в текущих версиях, если этот файл не указан в файле.info, он больше не используется. Кроме того, посредством файла.info можно добавлять новые таблицы стилей. Синтаксис: stylesheetsall = css/style.css stylesheetsprint = css/print.css Сценарии Раньше файлы JavaScript обычно просто вызывались как функции в файле template.php темы, например, drupaladdjs. Однако в Drupal 7 файл script.js присутствует только тогда, когда он указан в файле.info. Синтаксис: scripts = scripts/myscript.js PHP Здесь определяется минимальная версия PHP, поддерживаемая темой.

Значение по умолчанию берется из константы DRUPAL MINIMUM PHP (она находится в файле includes/bootstrap.inc): Это значение можно изменить, но добавление строки не требуется. Синтаксис: php = 5.2.4 Значения параметров.info по умолчанию Файл.info содержит значения по умолчанию, которые Drupal применяет для каждой установленной темы. Drupal применяет к теме значения по умолчанию тех параметров, которые не определены в файле.info. Заметим, однако, что эти значения применяются как группа. Это означает, что если переопределить строку regionssubheader = Sub-header, то придется пересмотреть и остальные области по умолчанию; в противном случае они будут опущены.

Точно так же это правило применяется и к таблицам стилей. Несмотря на то, что таблицы стилей технически не определены в группе, если в файле.info определить другую таблицу стилей, нужно пересмотреть и style.css; в противном случае она включена не будет. В приведены ключи и значения по умолчанию для тем Drupal 7. При более внимательном рассмотрении шаблон page.tpl.php оказывается простой HTML-страницей с обильным вкраплением PHP-операторов. Обычно большинство PHP-элементов Drupal уже определены, и все, что нужно сделать, ― это разместить их по своему усмотрению. Список переменных шаблона page.tpl.php находится здесь: Core Templates.

Добавление переменных к базовым элементам страницы Для построения page.tpl.php можно использовать ряд переменных. Выбор зависит от функций, которые нужно реализовать в данной теме. Например, чтобы добавить на страницы иерархические указатели пути, включите переменную $breadcrumbs.

Печать или визуализация Некоторые переменные нужно отображать с помощью функции render, в то время как другие можно просто вывести на печать. Если массив содержит переменную, как указано на справочной странице page.tpl.php (см. Раздел ), нужно использовать render.

В противном случае переменную можно распечатать ( ). К ядру Drupal прилагаются шаблоны по умолчанию и для других файлов темы. Их список приведен на сайте Drupal (см. Что касается файла page.tpl.php, то лучший способ построить его – найти готовый файл, изучить его и построить по этой модели свой собственный. На сайте Drupal можно найти переменные, разрешенные для использования в любом файле темы. Файл style.css В заголовок обычной статической HTML-страницы нужно включить указатель на таблицу стилей, используемую для отображения страницы.

Он выглядит так: Как уже говорилось, к теме можно добавлять новые стили или изменять стили по умолчанию. В обоих случаях необходимо внести таблицу стилей темы в файл.info. Что входит в таблицу стилей? К классам CSS применяется тот же модульный подход, какой ядро Drupal использует для стандартных элементов страницы. Хотя разработчики темы создают свои собственные классы, много готовых классов можно найти на сайте Drupal.

Темы Drupal

Полный список классов ядра Drupal 7 см. Заключение Эта статья содержит обзор функционирования системы тем в Drupal 7. В ней объясняются различные компоненты темы Drupal и процесс создания новой темы с нуля с применением механизма тем по умолчанию PHPTemplate. Мы рассмотрели типичную структуру файла каждого компонента темы.

Теперь у вас есть все необходимое для создания своей собственной темы.