04. Определение блока



О чём речь: определение для модуля блока.
Используемый 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

Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.