Drupal 7 自定义内容类型主题从 node.tpl 隐藏页眉/页脚
Posted
技术标签:
【中文标题】Drupal 7 自定义内容类型主题从 node.tpl 隐藏页眉/页脚【英文标题】:Drupal 7 custom content type theme hiding Header/footer from node.tpl 【发布时间】:2014-06-22 21:37:32 【问题描述】:我有一个自定义内容类型“mycustomcontenttype”,并且我有一个此内容类型的视图列表。我在每个节点的标题中也有一个链接,单击时将打开一个带有节点详细信息的弹出阴影框。我的问题是当详细信息出现在弹出窗口时,我拥有所有带有页眉/页脚的其余站点布局,而我只想拥有没有页眉页脚的节点详细信息。 我的节点模板文件名为 node--mycustomcontent.tpl。我想在此模板中隐藏或禁用页眉和页脚。
已解决 我终于找到了解决方案。在 page.tpl.php 我设置了一个 if 语句,如下所示
if ($node->type != 'mycustomcontenttype') print render($page['header']);
【问题讨论】:
你必须创建一个新的 page.tpl.php 来实现这个。 弹出窗口中有什么?它只是节点预告片或字段或 div 中的其他内容,还是节点页面的 iframe? 另外,如果它是 iframe,用户是否也可以在 iframe 之外导航到该页面? @rooby Popup 来自视图列表并包含 mycustomcontenttype 节点。 那么它是 iframe 还是不是 iframe?弹出窗口是来自自定义代码还是来自 drupal.org 的模块? 【参考方案1】:您的模板(node--mycustomcontent.tpl)实际上将模板分开以在节点中呈现数据,并且默认调用 page.tpl.php,其中还包括页眉和页脚。
您可以轻松地将 page.tpl.php 与您的内容类型分开。在以下线程中,您将找到多种为您的内容类型创建模板的方法。 https://drupal.org/node/1142800
【讨论】:
我尝试了你的建议并创建了一个页面--mycustomcontent.tpl.php,我只在源代码中留下了这个: 但没有任何改变。 你必须确保系统使用页面--mycustomcontent.tpl.php 线程(drupal.org/node/1142800)我提到会帮助你【参考方案2】:创建一个名为 page—mypagename.tpl.php 的文件,并将其放在您的主题文件夹中。我建议复制 page.tpl.php 并将其重命名为 page-mypagename.tpl.php,您可以在此处删除页眉和页脚,以免被渲染。
这会渲染页脚:
<footer class="footer">
<?php print render($page['footer']); ?>
</footer>
【讨论】:
以上是关于Drupal 7 自定义内容类型主题从 node.tpl 隐藏页眉/页脚的主要内容,如果未能解决你的问题,请参考以下文章