2010-07-28 2 views
3

Как я могу повлиять на значение параметра delta? Где он может быть установлен?Как получить и установить значение дельта?

Я начинаю с Drupal, но знаю свой путь вокруг PHP и других приложений CMS, например. Joomla. Я работаю над своим первым модулем drupal и должен создать модуль с несколькими блоками. Я знаю, как переключаться на основе параметра $ op, но значение $ delta всегда является значением по умолчанию, заданным в объявлении функции.

Как выбрать, какой блок обрабатывать и отображать? Может ли $ delta быть установлена ​​так, что при использовании субнавигации модулей используется дельта для переключения на другой вид блока?

Заранее спасибо.

+0

О каком жуке вы говорите? –

+0

Крючок - modulename_block. Сначала я буду выполнять переключение для $ op и для случая «view». Я хочу проверить значение delta, чтобы определить, какой контент отображать. – Jotudin

ответ

4

hook_block() используется для определения и отображения блоков. Вы определяете дельту при создании данных для $op='list', это передается обратно на крючок, когда он вызывается для $op='view'.

аргумент $ delta будет таким, каким вы его определяете. Если вы определяете ключи в своем списке как красный, зеленый и синий, это то, что будет передано, если будет отображаться блок.

Маби, глядя на the example, помогут вам.

+1

+1 - имя «дельта» является неудачным остатком от более ранних версий, где массив, определенный в '$ op = 'list'', был численно проиндексирован. Поскольку теперь вы можете использовать значащие строковые индексы, имя «name» или «block_name» будет лучшим именем для параметра. –

+0

Если я повторяю значение $ delta в начале «представления», он всегда содержит каждое значение дельта-значения, а не только одно. Я немного потерял, где я должен определить, какое значение дельта нужно использовать для создания контента. У меня есть 5 элементов в массиве $ block, определенном в «списке». У меня есть переключатель ($ op), а в случае «view» у меня есть переключатель ($ delta), но каждый случай соответствует. Если я задаю значение дельты здесь, он повторяет содержимое определенной дельты для всех 5 блоков. Извините, я новичок в Drupal и, похоже, придерживаюсь внутренней логики Joomla: D – Jotudin

Смежные вопросы