【问题标题】:How to get and set the delta value?如何获取和设置增量值?
【发布时间】:2023-03-07 07:12:01
【问题描述】:

如何影响 delta 参数值?哪里可以设置?

我是 Drupal 的初学者,但了解 PHP 和其他 CMS 应用程序,例如Joomla。我正在开发我的第一个 drupal 模块,需要创建一个包含多个块的模块。我知道如何根据 $op 参数进行切换,但 $delta 值似乎始终是函数声明中设置的默认值。

如何选择要处理和显示的块?是否可以设置 $delta 以便在使用模块子导航时使用 delta 切换到另一个块视图?

提前致谢。

【问题讨论】:

  • 你在这里说的是哪个钩子?
  • 钩子是modulename_block。首先,我将为 $op 和“视图”情况执行切换,我想检查 delta 值以确定要显示的内容。

标签: drupal drupal-6 drupal-modules


【解决方案1】:

hook_block() 用于定义和显示块。您在为$op='list' 生成数据时定义增量,当为$op='view' 调用它时,它会传递回钩子。

因此,$delta 参数将是您定义的任何内容。如果您将列表数组中的键定义为红色、绿色和蓝色,则在显示块时将传递该键。

Maby 看着 the example 会帮助你。

【讨论】:

  • +1 - 名称 'delta' 是早期版本的不幸遗留物,其中在 $op = 'list' 上定义的数组是数字索引的。由于您现在可以使用有意义的字符串索引,'name' 或 'block_name' 将是参数的更好名称。
  • 如果我在“视图”的开头回显 $delta 的值,它似乎总是包含每个可用的不同 delta 值,而不仅仅是一个。我对应该在哪里定义用于生成内容的增量值有点迷茫。我在“列表”中定义的 $block 数组中有 5 个元素。我有一个开关 ($op),在“视图”的情况下,我有一个开关 ($delta),但每个案例都是匹配的。如果我在这里设置增量值,它会为所有 5 个块重复定义的增量内容。抱歉,我是 Drupal 的新手,似乎被 Joomla 的内部逻辑困住了:D
猜你喜欢
  • 2011-08-07
  • 1970-01-01
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-02
  • 2019-06-27
  • 1970-01-01
相关资源
最近更新 更多