Главная » Записи с тегом "ноды"

Рубрики с меткой ‘ноды’

Хлебные крошки для Drupal: модуль Custom Breadcrumbs на вашем сайте.

Рассмотрим пример создания навигационной цепочки «хлебные крошки» на Drupal 6 (есть версия и для Drupal 7) с использованием модуля (а точнее набора модулей) Custom Breadcrumbs. Отличие данного расширения от того же Menu Breadcrumb, — более широкие возможности для тонкой настройки, в том числе корректная работа с представлениями (Views), таксономией, страницами панелей. Иными словами это по-настоящему произвольные хлебные крошки без привязки к структуре меню и чему-либо ещё.

Понадобится скачать: Читать далее »

Drupal 7. Вывод и скрытие произвольных полей ноды.

Итак, скрыть произвольное поле в ноде на Drupal 7 можно, используя следующий код (по умолчанию в «node.tpl.php»):

<?php
hide($content['имя_поля']);
...
print render($content);
?>

Читать далее »

Как расширять существующие типы контента

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

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

Как ограничить доступ к нодам

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

В этом примере, модуль будет устанавливать флаг '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)
)

Читать далее »

Глобальные переменные

Имя Описание
$active_db
./globals.php
Активное соединение с базой данных.
$base_path
./globals.php
Возвращает базовый путь сайта (по-умолчанию, «/»).
$base_root
./globals.php
Корневой URL хоста, не включая путь. Смотри также conf_init()
$base_theme_info
./globals.php
Массив объектов представляющий базовую тему. Для справки об объекте темы смотри _init_theme().
$base_url
./globals.php
Базовый URL инсталляции Drupal. Смотри также conf_init.
$channel
./globals.php
Ассоциативный массив, содержащий название, ссылку, описание и другие ключи. Ссылка должна быть абсолютной.
$conf
./globals.php
Путь к каталогу содержащему файлы настроек, задается функциейconf_path().
$cookie_domain
./globals.php
Домен, который будет использован для сеансовых cookies.
$custom_theme
./globals.php
Тема оформления, которая будет задействована вместо темы по умолчанию.
$db_prefix
./globals.php
Префикс, который добавляется ко всем таблицам базы данных.
$db_type
./globals.php
Тип используемой базы данных
$db_url
./globals.php
Адрес базы данных. Подробная документация, представлена вdefault.settings.php.

Читать далее »

Система доступа к нодам

Система доступа к нодам определяет кто и что может сделать с определёнными нодами.

Для определении прав доступа для ноды используется node_access(). Эта функция сперва проверяет, имеет ли пользователь разрешение 'administer nodes'. Такие пользователи имеют неограниченный доступ ко всем нодам. Затем вызывается хук hook_access() в модуле этой ноды (по умолчанию — node_content_access()), и возвращаемое значение, TRUE или FALSE, разрешит или запретит доступ. Например, это позволяет модулю blog всегда предоставлять доступ самому автору блога, а модулю book — всегда запрещать редактирование PHP страниц.

Если «нодовый» модуль не вмешивается в процесс ограничения доступа (возвращает NULL в hook_access()), тогда для этого используется таблица 'node_access'. Все такие модули опрашиваются при помощи хукаhook_node_grants() и в результате собирается список идентификаторов разрешений пользователя (grant IDs). Этот список сравнивается с таблицей по соответствию grant ID. Если в таблице присутствует запись с идентифкатором ноды или идентификатор ноды в таблице равен 0, то доступ к ноде (или нодам) разрешается. Отметьте, что эта таблица, по существу, является списком разрешений; любой совпадающий строки достаточно, чтобы разрешить доступ к ноде.
Читать далее »