2011-08-08 281 views
0

是否有钩子或预处理函数,我可以访问为drupal菜单(在这种情况下,主链接)写我自己的主题功能?自定义主题Drupal 6菜单

我有一个相当复杂的菜单结构,需要一点额外的标记,比我目前通过在一个块中渲染菜单项(涉及具有少量自定义标记的子菜单),并且真的需要访问我自己建立菜单的内容变量,理想情况是从一个包含所有主链接及其子范围的子数组。

回答

0

虽然它可能不是最好的解决方案,它是一个工作相当快速无痛:

的Drupal保持在cache_menu表中所有菜单的缓存版本,我跑了这个查询中检索序列化包含菜单中的所有内容串:

SELECT data FROM menu_cache WHERE serialized = 1 AND cid LIKE 'links:primary_links:%'; 

替代primary_links对于无论你菜单的名称是,并呼吁反序列化在$按行>数据得到的一切组成的结构数组,你应该需要建立一个自定义菜单。

我调用了hook_preprocess_block中的一个函数,它用我自己的菜单块的内容交换,所有东西似乎工作正常。