【问题标题】:Custom theming Drupal 6 Menus自定义主题 Drupal 6 菜单
【发布时间】:2011-08-08 21:15:30
【问题描述】:
是否有我可以访问的挂钩或预处理函数来为 drupal 菜单(在本例中为主链接)编写我自己的主题函数?
我有一个相当复杂的菜单结构,它需要一些额外的标记,而不是我目前通过在一个块中呈现菜单项(涉及带有一些自定义标记的子菜单)而获得的,并且确实需要访问构建菜单的内容变量我自己,理想情况下来自一个包含所有主链接及其子链接的数组。
【问题讨论】:
标签:
drupal-6
drupal-theming
drupal-navigation
【解决方案1】:
虽然它可能不是最好的解决方案,但它是一种非常快速且无痛的解决方案:
Drupal 将所有菜单的缓存版本保存在 cache_menu 表中,我运行了这个查询来检索包含菜单所有内容的序列化字符串:
SELECT data FROM menu_cache WHERE serialized = 1 AND cid LIKE 'links:primary_links:%';
将 primary_links 替换为您的菜单名称,并在 $row->data 上调用 unserialize 以获取构建自定义菜单所需的所有内容的结构化数组。
我在 hook_preprocess_block 中调用了一个函数,它用我自己的交换菜单块的内容,一切似乎都工作正常。