0

是否有一个钩子或预处理函数,我可以访问它来为 drupal 菜单(在本例中为主链接)编写我自己的主题函数?

我有一个相当复杂的菜单结构,它需要一些额外的标记,而不是我目前通过仅在一个块中呈现菜单项(涉及带有一点自定义标记的子菜单)得到的,并且确实需要访问以构建菜单的内容我自己变量,理想情况下来自一个包含所有主要链接及其子链接的数组。

4

1 回答 1

0

虽然它可能不是最好的解决方案,但它是一种非常快速且无痛的解决方案:

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 中调用了一个函数,它用我自己的交换菜单块的内容,一切似乎都运行良好。

于 2011-08-08T22:58:09.633 回答