Php скрипт создания тем

Создание темы

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

Это не означает, что вы должны от и до выучить весь Друпал только для того, чтобы сделать свою тему. В этих главах будут рассмотрены вопросы касающиеся работы с оформлением и вы можете изучить только те из них, которые вам нужны. Некоторые документы рассчитаны на технически подготовленных пользователей, другие носят общий характер, но для понимания большинства вещей от вас потребуется знание:

  • HTML и CSS
  • JavaScript и jQuery (если вы будете делать тему с поддержкой этих скриптов)
  • PHP (это не является необходимым, но во многих ситуациях знание PHP поможет вам лучше понимать о чём идёт речь)
  • Терминологии Друпала

Старайтесь при разработке темы придерживаться стандартов кодирования — это позволит сохранить чистоту кода темы. Перед созданием темы, вам нужно представлять цели и возможности сайта, для которых вы делаете тему. Зная определённые требования значительно легче разрабатывать новую тему, чем проектируя её, исходя из общих представлений.

Это руководство содержит информацию о работе с темами в Друпале 7. Стандартные темы и их шаблоны в Друпале 7 размещены в своих папках и подпапках общей папки themes, для дополнительных тем используется папка DRUPAL_ROOT/sites/all/themes.

Для изменения существующий темы, создайте в папке sites/all/themes папку для новой темы и скопируйте в неё все файлы той темы которую нужно изменить.

Системное название темы соответствует названию .info-файла. Например, если файл называется drop.info, то Друпал будет считать, что системное название темы это drop.

Когда создаётся новая тема, её системное название не должно совпадать с системным названием другого проекта, так как названия модулей и тем используются в названиях функций, а использование функций с одинаковыми названиями может вызвать конфликты.

Друпал 5 и более ранние версии в качестве системного названия использовали название папки темы, а не название файла.

Движок PHPTemplate

Стандартным движком тем в Друпале 7 является PHPTemplate. Он написан Adrian Rossouw и использует в качестве шаблонов файлы something.tpl.php, которые позволяют управлять функциями theme_something(). Документацию по функциям оформления можно найти в Drupal API. Каждый файл состоит из HTML-скелета с включением PHP-сниппетов, которые генерируют необходимую информацию.

Даже если вы не знаете PHP, то всё равно сможете создавать свои темы, так как в них используются простые сниппеты, которые можно просто скопировать в свои шаблоны из других тем.

Читайте также:  Bitrix php interface dbconn php

Логика условий и предобработка данных (template.php)

Для всей логики условий и обработки выводимых данных используется файл template.php располагающийся в папке темы. Он не является обязательным, но позволяет сохранить .tpl.php-файлы чистыми и может использоваться для предобработки переменных до того, как они будут использованы в разметке .tpl.php-файлов. В этом файле хорошо делать свои функции, переопределения стандартных функций темизации или какую-либо другую предобработку выводимых данных.

Этот файл должен начинаться с отрывающего PHP-тега

Структура генерируемой страницы

  • Страница — на странице находятся регионы
  • Регион — в регионах размещаются блоки
  • Блок — в блоках показываются данные

Иллюстрация ниже показывает структуру страницы в Друпале и файлы, которые используются в типичной теме и подтеме.

Анатомия темы Друпала 7

Стандартные файлы темы

.info-файл: определение темы

Всё, что нужно Друпалу для того, чтобы увидеть тему, это .info-файл. Если нужно, здесь могут быть определены метаданные, стили, скрипты, регионы и другие параметры.

В Друпале 5 .info-файлы использовались только в модулях. .info-файлы для тем были введены в Друпале 6.

.tpl.php-файлы: шаблоны выводимых данных

Файлы шаблонов используются для HTML-разметки и переменных PHP. Каждый .tpl.php-файл обрабатывает вывод определённой части данных темы, а в некоторых ситуациях он может служить обёрткой для нескольких .tpl.php-файлов (например profile-wrapper.tpl.php). Эти файлы не являются обязательными и если в вашей теме их нет, то будут использоваться стандартные шаблоны.

Воздержитесь от использования в этих файлах сложной логики. В большинстве случаев это должны быть только элементы HTML задающие скелет страницы и переменные PHP выводящие данные в этих элементах (используйте для предобработки файл template.php).

Эти файлы должен начинаться с отрывающего PHP-тега

.css-файлы: стили оформления

.js-файлы: скрипты взаимодействия

Базовая темы и её подтемы

Подтемы ведут себя как и любая другая тема, единственное отличие заключается в том, что они наследуют ресурсы своей базовой темы. Для создания подтемы в .info-файле подтемы нужна запись base theme, которая определяет базовую тему, от которой будут наследоваться ресурсы.

Друпал 5 и ранние версии требовали размещения подтемы внутри папки базовой темы. Сейчас это не так. Друпал 7 использует реестр тем, данные о темах берутся из него и подтема не обязательно должна располагаться в папке базовой темы.

Рекомендации по созданию темы

При создании темы и использовании темы, учитывайте следующие моменты:

  • Сделайте для темы логотип и скриншота. Скриншот показывается на странице «Оформление» и помогает визуально отличать темы друг от друга
  • Если вы используете на сайте стандартную тему, но хотите внести в неё небольшие изменения, создайте на её базе подтему в папке дополнительных тем. Прямое изменение стандартных тем не рекомендуется, потому что они используются в процессе установки и обновления (собственные переменные могут быть несовместимы с ядром) и они могут быть случайно вами перезаписаны при обновлении сайта
  • Чтобы использовать в теме дополнительные возможности помимо логотипа, поиска, миссии и так далее, используйте файл theme-settings.php, данные которого будут показываться на странице настройки темы
  • Для использования в теме возможностей модуля Color, в папке темы нужна папка color вместе с файлом color.inc и другими дополнительными файлами
Читайте также:  Распределенные программные системы java

Источник

Php скрипт создания тем

*

Частная коллекция качественных материалов для тех, кто делает сайты

  • Creativo.one2000+ уроков по фотошопу
  • Фото-монстр300+ уроков для фотографов
  • Видео-смайл200+ уроков по видеообработке
  • Жизнь в стиле «Кайдзен» Техники и приемы для гармоничной и сбалансированной жизни

В этой рубрике Вы найдете бесплатные уроки по WordPress, которые позволят Вам усовершенствовать свой блог.

Почему WordPress лучше чем Joomla ?

Этот урок скорее всего будет психологическим, т.к. многие люди работают с WordPress и одновременно с Joomla, но не могут решится каким CMS пользоваться.

Создан: 26 Августа 2017 Просмотров: 28572 Комментариев: 0

Про шаблоны WordPress

После установки и настройки движка нам нужно поработать с дизайном нашего сайта. Это довольно долгая тема, но мы постараемся рассказать всё кратко и ясно.

Создан: 3 Августа 2017 Просмотров: 26527 Комментариев: 0

Самые первые настройки после установки движка WordPress

Сегодня мы вам расскажем какие первые настройки нужно сделать после установки движка WordPress. Этот урок будет очень полезен для новичков.

10 стратегий эффективного продвижения статей в блогах на WordPress

Продвижение статей в блоге — непростая задача. Часто бывает, что вы пишете действительно хороший контент, включаете визуальные эффекты, делаете правильные корректировки SEO, но это не дает ожидаемого результата.

Топ WordPress альтернатив для создания персонального сайта

В поисках профессионального рабочего окружения для WordPress

За время работы проекта мы не раз рассказывали о настройках рабочего окружения для движка WordPress. WAMP для Windows, MAMP для Mac или XAMPP для обеих операционных систем. Сегодня мы бы хотели поговорить о минусах перечисленных инструментов, а также пролить свет на новые решения.

Работа с WordPress CLI

Данное руководство будет полезно как администраторам, так и обычным пользователям. В WordPress появился консольный инструмент, который поможет сэкономить кучу времени!

Источник

Создаём тему для Drupal. Часть 3

image

Часть 1, Часть 2

Шаблоны

Шаблоны мы будем складывать в sites/all/themes/mytheme/templates. Создадим шаблоны page.tpl.php — для страниц, node.tpl.php — для контента, block.tpl.php — для блоков, comment-wrapper.tpl.php — для блока с комментариями, comment.tpl.php — для одного комментария, header.tpl.php — для шапки, footer.tpl.php — для подвала, region.tpl.php — для регионов. Также, по аналогии с препроцессами, мы можем создавать файлы типа node-story.tpl.php для отображения материала типа story или block-user.tpl.php для блока user. Это позволяет темизировать отдельно разные типы содержимого сайта.

Не буду приводить HTML шаблонов. Верстайте на свой вкус. Расскажу лишь о переменных, доступных для каждого шаблона.

page.tpl.php

  • $head_title — заголовок страницы
  • $head — вся информация в head
  • $styles — стили
  • $scripts — скрипты
  • $classes — классы для body
  • $header — шапка, которую мы вынесли в отдельный шаблон
  • $REGION_NAME — переменные с именами регионов
  • $messages — системные сообщения
  • $tabs — табы
  • $content — контент
  • $feed_icons — иконки RSS
  • $footer — подвал, который мы вынесли в отдельный шаблон
  • $base_path — базовый путь сайта
  • $is_front — главная страница или нет
  • $logged_in — залогинен ли пользователь
  • $is_admin — админ или нет
  • $language — объект, содержащий данные о текущем языке
  • $node — нода
  • $front_page — ссылка на главную
  • $logo — логотип
  • $site_name — имя сайта
  • $site_slogan — слоган сайта
  • $mission — миссия сайта
  • $search_box — блок поиска
  • $closure — переменная вставляется перед закрывающим тэгом /body, в неё некоторые модули пишут скрипты. Спасибо хабраюзеру juliv
Читайте также:  Android textview html link

node.tpl.php

  • $node — объект ноды
  • $classes — классы для ноды
  • $user_picture — аватар пользователя
  • $picture — картинка ноды, переопределяется модулями
  • $page — страница ноды или список тизеров
  • $unpublished — опубликована или нет
  • $display_submitted — кем и когда опубликована
  • $terms — категории
  • $content — контент
  • $links — ссылки
  • $title — заголовок
  • $date — дата создания
  • $name — имя автора
  • $node_url — ссылка на ноду
  • $comment_count — количество комментов
  • $type — тип материала
  • $uid — id автора
  • $zebra — класс для зебры
  • $teaser — тизер или целая нода
  • $sticky — прилеплена или нет
  • $status — статус ноды
  • $comment — включены ли комменты
  • $is_front — на главной или нет
  • $logged_in — залогинен или нет
  • $is_admin — админ или нет

region.tpl.php

  • $classes — классы для региона
  • $content — контент
  • $region — название региона
  • $is_front — на главной или нет
  • $logged_in — залогинен или нет
  • $is_admin — админ или нет

block.tpl.php

  • $block — объект блока
  • $classes — классы блока
  • $title — заголовок
  • $content — контент
  • $edit_links — ссылки редактирования блока
  • $zebra — зебра
  • $block_id — id блока
  • $is_front — на главной или нет
  • $logged_in — залогинен или нет
  • $is_admin — админ или нет

comment-wrapper.tpl.php

  • $classes — классы
  • $node — нода
  • $content — контент
  • $display_mode — способ отображения комментов
  • $display_order — порядок отображения комментов
  • $comment_controls_state — есть ли форма управления комментамми

comment.tpl.php

  • $classes — классы
  • $picture — аватар автора
  • $title — заголовок
  • $new — новый или нет
  • $unpublished — опубликован или нет
  • $author — автор
  • $created — дата создания
  • $content — контент
  • $links — ссылки

header.tpl.php

  • $front_page — главная страница или нет
  • $logo — логотип сайта
  • $search_box — блок поиска
  • $header_line — регион с именем header_line
  • $footer_line — регион с именем footer_line
  • $page_bottom — регион с именем page_bottom

Что в итоге

В итоге мы имеем очень гибкую тему. Мы можем добавлять шаблоны для разных регионов, материалов, блоков всего лишь создав новый файл. Мы можем добавлять перемнные в новые шаблоны всего лишь создав новый файл и дописав в него пару строк. У нас выделены отдельными шаблонами все регионы, а также шапка и подвал, что позволяет не дублировать их код в шаблонах для разных страниц. Вам остается лишь сверстать и добавить по вкусу стили и скрипты (не забудьте прописать их в info-файле).

Откуда это

Большая часть информации и идей взята из тем ZEN и SKY.

Успехов в создании тем!

Источник

Оцените статью