Темизация Drupal урок 1 Readme файл Zen theme
С чего начать?
Ура! Вы открыли нужный файл в первую очередь. Первое, что замечают люди, когда скачали Zen тему, это то, что файлов здесь гораздо больше, чем в других темах.
Не волнуйтесь! Вам не нужно сразу знать все, чтоб сделать Друпал тему.
Зен даст тебе то, чего ты не знал и будет терпеливо ждать пока ты изучишь документацию и комментарии о нем.
Создаем свою Drupal тему на основе Zen theme
Если вы решили не использовать уже готовую тему для Друпала, а сделать свою или перенести шаблон с Wordpress или Joomla, то вам придется писать тему с нуля. Но для этого уже есть готовые каркасы для ваших тем.
Темизация сайта Drupal 6/7. Из чего состоит шаблон?
Привет, Всем!
Я надеюсь вы уже посмотрели краткое вступление в HTML и CSS. И теперь готовы создавать темы друпала на основе PSD макетов. Вот ниже ссылки на "учебники" HTML и CSS:
Темизация Drupal (стилизация, шаблоны)
Из первых двух разделов учебник Drupal drupalbook.org Вы узнали как устанавливать сайт, добавлять в него контент типы, создавать материалы различных контент типов и как выводить эти материалы через Views. В последующих вы могли узнать о HTML/CSS. Теперь пришло время поговорить о том, как изменить внешний вид этих материалов, с помощью CSS.
Form API Drupal 7 создание форм на Drupal
В прошлых уроках мы познакомились с хуками hook_block_info(), hook_block_view(), hook_menu(), hook_permission() и теперь можем создавать программно сколько угодно страниц и блоков. А в этом уроке мы ознакомимся с Form API Drupal 7 для создания форм. Мы будем создавать форму для администрирования функций модуля и постараемся использовать как можно больше уже известных нам хуков, чтобы закрепить умения.
Для начала мы выведем 3 блока, думаю для вас это не составит труда.
hook_permission Drupal 7 разрешения на доступ для разных ролей
На прошлых уроках мы выводили страницы и блоки в разных местах, мы также использовали свойства 'access arguments', 'access callback' для задания ограничений на доступ к страницам. В этом уроке мы будем создавать возможность более гибкого редактирования правда доступа к операциям посредством страниц администрирования. Для этого мы будем использовать hook_permission() (в 6ом Друпале это был hook_perm()).
hook_permission()
Определяет разрешения для пользователей.
Hook_menu Drupal 7 создание страниц через модуль
В прошлом уроке мы рассмотрели как выводить информацию из БД с помощью API Drupal, а именно с помощью хуков hook_block_info(), hook_block_view(). В этом уроке мы будем выводить страницы, а точнее с помощью хука hook_menu, подключать страницу к другим частям друпала: меню, модулю перевода, шаблонам и т.д.
Drupal 7 hook_block_info() и hook_block_view() выводим информацию в блоке
В прошлом уроке мы создали модуль для Друпал 7, в этом уроке мы продолжим расширять возможности нашего модуля. Мы добавим вывод блока через хук hook_block_view(), а также hook_block_info(). В этом блоке будет информация о последних пользователях на сайте с ссылкой на их страницу.
Начну с описания hook_block_info():
Определяет все блоки создаваемые модулем.
Этот хук определяет в друпале какие блоки будут выводиться модулем и может описать настройки вывода блока.
Из чего состоит модуль Drupal 7?
Прежде чем начать создавать наш модуль я еще расскажу немного о возможностях API Друпала. API предоставляет широкие возможности для работы с Таксономией, нодами, пользователями, ввода и вывода из БД. Для взаимосвязи модулей и ядра Друпала, а также модулей между собой, в Друпале есть система хуков. Хук это обратный вызов функции, то есть когда выполнение кода доходит до хука, то происходит добавление кода нашей функции, которую мы дописываем в своем модуле.
Создаем модуль на Drupal, быстрый старт
Начнем с api.drupal.org, откройте страницу хука hook_node_presave(), который срабатывает перед добавлением ноды.
http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_validate/7
Хуки позволяют нам встроить наш код в обычный ход вещей в друпале, добавлять проверки, поля данных, элементы форм и т.д.
Добавляем наш модуль в папку sites/all/modules: