Работа с несколькими базами в CMF Drupal, мультисайтинг

Опубликовано 2012.04.15 в разделе Drupal.

Мультисайтинг – это возможность использовать одну сборку Drupal для нескольких сайтов. Например, нужно сделать 5 похожих сайтов на Drupal. Традиционный способ – это иметь 5 экземпляров движка и 5 баз данных. Конечно, иметь несколько копий одних и тех же файлов не рационально. В этом случае можно использовать 1 экземпляр движка общий на все сайты. Это сэкономит место на жестком диске сервера, избавит от необходимости обновлять одни и те же модули на всех пяти сайтах и повысит удобство работы с сайтами в целом.

Обзор хуков, применение их своих модулях

Опубликовано 2012.04.15 в разделе Drupal.

В CMF Drupal предусмотрена работа с событиями. Для этого используются хуки. Каждый хук привязан к своему событию. Используя хуки можно привязаться к любому событию.

Например, вы хотите, чтобы при добавлении комментария к статье – на ящик автора статьи посылалось уведомление. Для этого привязываемся к событию «добавление комментария» и выполняем отправку сообщения.

Использовать хуки можно в модулях. Хук – это функция с именем <имя модуля>_<название хука>

Создание своей темы в Drupal

Опубликовано 2012.04.15 в разделе Drupal.

Создать тему с нуля можно. Но это очень большая и трудоёмкая задача. Поступать так стоит лишь в том случае, когда вам нужны какие-то специфичные потребности, что-то уникальное.

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

Однако создать каркас темы, которая будет работать можно достаточно быстро. Для этого нам потребуется создать папку темы, info файл темы(как в модуле), и несколько шаблонов.

Способы темизации страниц в Drupal

Опубликовано 2012.04.15 в разделе Drupal.

Для темизации Drupal можно использовать как модули, так и вручную создавать файлы шаблонов, которые будут применяться в том или ином случае. Например можно создать шаблон для ноды определённого типа. Предположим что есть нода, которая содержит дополнительные поля. Наша задача упорядочить их. Давайте создадим новый тип ноды, назовём его «Анкета». Добавим к неё наше поле «Пол» ,поле «Имя» и прикрепим 3 изображения.

Data Base API

Опубликовано 2012.04.14 в разделе Drupal.

API для работы с БД в Drupal 7. На мой взгляд – это самое лучшее API. Поначалу оно может показаться сложным и непонятным. Для работы с БД вы должны понимать, что такое SQL запросы и уметь их писать.  Drupal 7 понимает как обыкновенные SQL запросы(как в Drupal 6), так и построенные с помощью API.

Вы также можете почитать на эту тему статью, описывающую работу с БД в Drupal 7.

Начнем с простого select.

Извлечём nid всех нод с типом page.

Field API

Опубликовано 2012.04.14 в разделе Drupal.

Данное API позволит работать с полями. Оно позволяет создавать новые типы полей. В большинстве случаев встроенных типов полей вполне хватает для пользовательских нужд, но при необходимости можно легко добавить свои.

Form API. Создание пользовательских форм в Drupal

Опубликовано 2012.04.14 в разделе Drupal.

Для создания пользовательских форм очень удобно использовать встроенные в Drupal механизмы. Это гораздо удобнее, чем писать html код вручную с нуля.

Сразу даю ссылку на документацию, к которой мы будем обращаться http://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7

Это очень удобная таблица, а также пример использования каждого элемента.

Создание модуля Drupal

Опубликовано 2012.04.14 в разделе Drupal.

Как вы уж знаете - модуль в Drupal-это самостоятельный функционал, который может взаимодействовать с другими модулями, с темами и с ядром системы. Разрабатывать собственные модули несложно.

Для создания модуля необходимо создать файл модуля(.module) и файл с информацией о модуле(.info). Это обязательный минимум. Также модуль может включать в себя другие php файлы, различные шаблоны, файлы стилей, JavaScript и т.д.

Info файл, файл module и папка модуля должны иметь одинаковые названия.

Файл info содержит в себе информацию о модуле.

Что такое API

Опубликовано 2012.04.14 в разделе Drupal.

API(application programming interface) – это интерфейс программирования - набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Используется программистами для написания всевозможных приложений.

field_view_value

Опубликовано 2012.04.13 в разделе Drupal.

Есть в седьмой(а так же и в восьмой) версии Drupal такая замечательная функция, как field_view_value. Она подходит для отображения полей ноды и пользователей.Использовать её можно прямо в .tpl.php шаблонах. Например в материале типа "статья" у нас есть поле с названием "технология". Это обычное текстовое поле с машинным именем "field_technology" Теперь создаем шаблон для этого типа материала. Создаем файл с именем node--article.tpl.php. Теперь подтягиваем нужное нам поле.Пишем следующее: