Этот документ является полным справочник к Forms API Друпала. Если вас интересует пошаговая интрукция о том, как создавать собственные формы, вам лучше начать с .
Перейти к: | |
Элементы формы
Легенда: Читать далее »
Апрель 11th, 2012
admin Этот документ является полным справочник к Forms API Друпала. Если вас интересует пошаговая интрукция о том, как создавать собственные формы, вам лучше начать с .
Перейти к: | |
Легенда: Читать далее »
Апрель 11th, 2012
admin Это пример, который показывает, как можно использовать модуль для показа своей страницы по заданному URL.
Читать далее »
Апрель 11th, 2012
admin Это пример с комментариями того, как модуль может быть использован для расширения существующих типов контента.
Для каждой ноды добавим возможность иметь рейтинг, который будем числом от одного до пяти.
Читать далее »
Апрель 11th, 2012
admin Это пример иллюстрирует как ограничивать доступ к нодам на основе некоторых критериев, связанных с пользователем.
В этом примере, модуль будет устанавливать флаг 'private' для ноды. Если флаг установлен, то только пользователи с правом 'view private content' будут видеть содержание ноды, а пользователи с 'edit private content' смогут изменять (но не удалять) ноду.
Кроме того автор ноды всегда сможет просматривать, изменять и удалять её.
Определение базы:
CREATE TABLE node_access_example ( nid int(10) UNSIGNED NOT NULL DEFAULT '0' PRIMARY KEY, private int, KEY `node_example_nid` (nid) )
Апрель 11th, 2012
admin Пример модуля для создания нового типа нод.
Созданный этим модулем тип нод позволяет задавать для этих нод дополнительные поля цвет ('color') и количество ('quantity'); такие ноды можно использовать как простейшую систему учета ресурсов. Чтобы сохранять эту дополнительную информацию, нужна вспомогательная таблица базы данных.
Схема таблицы БД:
CREATE TABLE node_example ( vid int(10) UNSIGNED NOT NULL DEFAULT '0', nid int(10) UNSIGNED NOT NULL DEFAULT '0', color varchar(255) NOT NULL DEFAULT '', quantity int(10) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (vid, nid), KEY `node_example_nid` (nid) )
Апрель 11th, 2012
admin Этот пример показывает, как модуль может быть использован для определения фильтра содержимого отправленного пользователем, который будет выполнен до отправки данных в браузер.
Чтобы показать все возможности системы фильтров, мы определим два фильтра в данном модуле. Один будет заменять строку 'foo' на строку, определённую администратором. Другой найдёт пользовательский XML-тэг <time /> и заменит его на текущее время.
Читать далее »
Апрель 11th, 2012
admin | Имя | Описание |
|---|---|
./ |
Активное соединение с базой данных. |
./ |
Возвращает базовый путь сайта (по-умолчанию, «/»). |
./ |
Корневой URL хоста, не включая путь. Смотри также () |
./ |
Массив объектов представляющий базовую тему. Для справки об объекте темы смотри (). |
./ |
Базовый URL инсталляции Drupal. Смотри также conf_init. |
./ |
Ассоциативный массив, содержащий название, ссылку, описание и другие ключи. Ссылка должна быть абсолютной. |
./ |
Путь к каталогу содержащему файлы настроек, задается функцией(). |
./ |
Домен, который будет использован для сеансовых cookies. |
./ |
Тема оформления, которая будет задействована вместо темы по умолчанию. |
./ |
Префикс, который добавляется ко всем таблицам базы данных. |
./ |
Тип используемой базы данных |
./ |
Адрес базы данных. Подробная документация, представлена в. |
Апрель 11th, 2012
admin | Имя | Описание |
|---|---|
modules/block/ |
Это блок одинаков для всех пользователей на всех страницах |
modules/block/ |
Этот блок может меняться в зависимости от показываемой страницы |
modules/block/ |
Блок может меняться в зависимости от роли пользователя, просматривающего страницу, которой принадлежит блок. Это значение по умолчанию, которое используется, если для блока не указано иное. |
modules/block/ |
Содержимое блока может зависить от того, какой пользователь просматривает страницу. Эта опция позволяет сэкономить вычислительные ресурсы на сайтах с большим количеством пользователей, но при этом она должна использоваться только если опция BLOCK_CACHE_PER_ROLE не предоставляет достаточных возможностей. |
modules/block/ |
Блок не должен кэшироваться. Эта настройку следует применять для простых блоков. В основном для тех, которые не выполняют ни одного запроса к базе данных, или если запрос кэша из базы данных будет более ресурсоёмким, чем генерация контента блока. А также для блоков, которые часто меняются. |
modules/block/ |
Означает, что блок не активирован ни в одном из регионов и не должен показываться. |
Апрель 11th, 2012
admin Система доступа к нодам определяет кто и что может сделать с определёнными нодами.
Для определении прав доступа для ноды используется (). Эта функция сперва проверяет, имеет ли пользователь разрешение 'administer nodes'. Такие пользователи имеют неограниченный доступ ко всем нодам. Затем вызывается хук () в модуле этой ноды (по умолчанию — ()), и возвращаемое значение, TRUE или FALSE, разрешит или запретит доступ. Например, это позволяет модулю blog всегда предоставлять доступ самому автору блога, а модулю book — всегда запрещать редактирование PHP страниц.
Если «нодовый» модуль не вмешивается в процесс ограничения доступа (возвращает NULL в ()), тогда для этого используется таблица 'node_access'. Все такие модули опрашиваются при помощи хука() и в результате собирается список идентификаторов разрешений пользователя (grant IDs). Этот список сравнивается с таблицей по соответствию grant ID. Если в таблице присутствует запись с идентифкатором ноды или идентификатор ноды в таблице равен 0, то доступ к ноде (или нодам) разрешается. Отметьте, что эта таблица, по существу, является списком разрешений; любой совпадающий строки достаточно, чтобы разрешить доступ к ноде.
Читать далее »
Апрель 7th, 2012
admin Поисковый интерфейс Друпал управляет механизмом глобального поиска по сайту.
Модули можно включать в систему поиска разных типов данных. Большую часть работы в системе поиска выполняет search.module, поэтому он должен быть разрешен для всех функций в работе поиска.
Есть три способа взаимодействия с системой поиска:
nodeapi('update index') и nodeapi('search result'). Однако, необходимо учесть, что поисковая система уже индексирует весь видимый вывод ноды — все то, что отображается с помощью () и ('view'). Обычно этого достаточно. Этот механизм стоит использовать лишь если необходима индексация дополнительных скрытых данных.(). На странице /search будет создана вкладка поиска для разрабатываемого модуля, содержащая простую форму поиска по ключевому слову. Опционально можно реализоватьhook_search_item() для настройки отображения результатов.(). Это позволит использовать в модуле друпаловский механизм индексации HTML для эффективного полнотекстового поиска.Если модуль должен предоставлять более комплексные возможности поиска, необходимо реализовать их самостоятельно без (). В этом случае нужно определить его, как локальную задачу (вкладку) на странице /search (например, /search/mymodule), чтобы пользователи легко смогли его найти.
Читать далее »