О чём речь: определение для модуля блока.
Используемый hook: hook_block.
Есть разные типы модулей — одни модули выводят содержание в блоках, другие выводят содержание в документах, третьи делают ещё что-то и т.д. Модули которые выводят содержание в блоке, обычно создают краткое содержание, чтобы такой блок было удобно разместить в боковой панели.
Сначала мы создадим содержание, которое будет выводится в блоке, а затем и содержание которое предназначено для вывода в документе. Hook который используется для работы с блоками называется block. Итак, давайте начнём:
<?php
/**
* Generate HTML for the onthisdate block
* @param op the operation from the URL
* @param delta offset
* @returns block HTML
*/
function onthisdate_block($op = 'list', $delta = 0) {
} // end function onthisdate_block
?>Наша функция имеет два параметра: операция — $op и ответвление — $delta. Ответвление позволяет создавать разное содержание для разных блоков, и всё это — внутри одной функции. Нас будет интересовать только $op. Ещё мы позаботимся о том, чтобы блок показывался в системе на странице блоков: Administer → Site building → Blocks.
Когда блок находится на странице блоков, то значение параметра $op равно list и для этой страницы нам не надо ничего, кроме названия блока:
<?php
/**
* Generate HTML for the onthisdate block
* @param op the operation from the URL
* @param delta offset
* @returns block HTML
*/
function onthisdate_block($op='list', $delta=0) {
// listing of blocks, such as on the admin/block page
if ($op == "list") {
$block[0]["info"] = t('On This Date');
return $block;
}
} // end onthisdate_block
?>В следующей главе, мы рассмотрим вопрос вывода в блок содержания.
Comments
Post new comment