在 Drupal 7 中为不同页面组创建多个 page.tpl
我目前在 Drupal 中构建的网站分为两个截然不同的区域,两个区域的结构都截然不同。我的解决方案是构建两个不同的 page.tpl 页面。有谁知道在 Drupal 7 中实现此功能的最简单方法是什么。它是像 node.tpl 页面一样的命名约定过程还是我需要在 template.php 页面中插入预处理函数。
为任何帮助干杯!
the site I'm currently building in Drupal is split into two very different areas, both structured quite differently. My solution is to build two different page.tpl pages. Does anyone know what the easiest method is to implement this in Drupal 7. Is it a naming convention process like the node.tpl page or will I need to insert a preprocess function in the template.php page.
Cheers for any help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您还可以在 template.php 文件中附加一个预处理函数。像下面这样:
You could also attach a preprocess function in your template.php file. Something like the following:
看一下这个页面: http://drupal.org/node/1089656
它解释了命名模式了解您的模板文件以及如何扩展模板建议。
对于您的情况,您必须实现
theme_get_suggestions()
函数。在此函数中,您可以检查路径参数以确定需要显示哪种类型的页面并添加适当的建议。Have a look at this page: http://drupal.org/node/1089656
It explains the naming schema for your template files and how to extend the template suggestions.
In your case, you'll have to implement the
theme_get_suggestions()
function. In this function you can check the path arguments to determine which kind of page you need to display and add the appropriate suggestions.我不明白。如果您想使用两个不同的模板文件,那么只需创建两种不同的内容类型,您就可以绕过所有这些编码。
如果您需要进一步的帮助,请告诉我。
维沙尔
I don't get it . If you want to use two different template files then just create two different content types and you can by pass all this coding.
let me know if you need further help.
vishal
您可以使用 Context 模块。
在给定的上下文中,您可以添加“模板建议”反应。这将允许您指定将覆盖默认值的其他模板文件。有关详细信息,请参阅上下文队列中的问题,添加“模板建议”反应。
使用这种方法,无需编写任何模块代码。
You can use the Context module.
Within a given context, you can add the "Template suggestions" reaction. This will allow you to specify additional template files that will override the defaults. See the issue in the Context queue, Add a "Template suggestions" reaction, for details.
With this approach, it's not necessary to write any module code.
如果添加此代码,您也可以在此处调用预处理函数,
在这种情况下,您不仅可以针对节点类型使用不同的模板,还可以针对不同的视图模式使用不同的模板
also you can call preprocess function here if adding this code
in this case you can use different templates not only for node types but for different view modes too