我创建了一个视图(让我们称之为my_view)。
在主题:信息部分,如果视图我已经注意到一个建议的模板名称(views-view--my-view--default.tpl.php (或接近该名称)),并使用该名称创建了我自己的模板文件。
这一切都很好,当我访问主题注册表时,我可以看到那里有一个带有模板名称(views-view--my-view--default)的钩子。但是这个钩子的类型字段是'engine‘而不是'module’。我假设这就是视图自己设计主题的方式?
我想实现hook_registry_alter来修改这个主题钩子(以及以同样方式创建的其他钩子),但是我不知道如何检索这些钩子的列表。
我尝试使用array_keys(views_theme())来获取所有视图钩子,但是这个列表不包含通过覆盖模板文件创建的钩子。它只包含默认的钩子,如views_views_field等
有没有办法以这种方式带回一个覆盖了主题钩子的视图列表?
发布于 2009-11-27 07:13:03
我在这里回答,因为你的最后一条评论似乎表明你对追求最初的方法不再感兴趣,而且600个字符无论如何都是不够的。
实现你想要的东西的另一种方法是使用子主题的“继承”来实现它们的父主题。换句话说,您可以将您的用户主题定义为管理主题的子主题。
这样,主题化引擎将搜索模板-在用户通过用户主题查看站点的情况下-首先在用户主题文件夹中,然后在管理主题文件夹中,然后在模块目录中。
例如,这是zen使用的相同机制,允许您使用初学者工具包创建主题。
希望这能有所帮助!
https://stackoverflow.com/questions/1802279
复制相似问题