【问题标题】:My custom template for my content type won't work in Drupal 7 - Bootstrap Theme我的内容类型的自定义模板在 Drupal 7 中不起作用 - Bootstrap 主题
【发布时间】:2015-02-20 21:58:07
【问题描述】:

我在 Drupal 7 上使用引导主题。我的子主题有一些模板覆盖了某些页面。

我正在尝试专门为我的一种内容类型制作模板:

Spokesmodel 页面(机器名称:spokesmodel_page)

我有一个名为 page--spokesmodel_page.tpl.php 但由于某种原因它没有出现。我已经清除了缓存并编写了一行代码进行测试以查看它是否有效,但它是从 page.tpl.php

获取模板

我需要做些什么才能让它工作还是应该自动开始工作?我已经为某些节点制作了模板,它们工作正常。

【问题讨论】:

    标签: php twitter-bootstrap templates drupal-7


    【解决方案1】:

    尝试将 node.tpl.php 从父主题复制到子主题并根据此处的命名约定重命名 https://www.drupal.org/node/1089656

    即节点--spokesmodel.tpl.php

    【讨论】:

    • Bootstrap 父主题的文件中没有 node.tpl.php。它只有 html.tpl.php
    • 显然,bootstrap 使用了 drupal 默认提供的模块“node”中的 node.tpl.php。我复制了它并将其粘贴到我的子主题中的模板中。按照您所说的方式重命名它并且它有效!谢谢!!!
    【解决方案2】:

    页面 tpl 不是您要查找的内容。假设你的内容是基本页面,覆盖模板的方法是使用node--page.tpl.php。

    您必须检查当前页面是否是您想要的页面,然后进行所需的更改,因为此 tpl 被所有页面类型的内容使用。

    【讨论】:

    • 我也是这么想的,但是 Bootstrap 主题没有名为 node--page.tpl.php 的模板,我应该重命名 page.tpl.php node--page.tpl.php在子主题模板文件夹上?
    • 你需要使用node.tpl.php一个。这是用于所有节点的通用节点。如果您只想为特定类型的节点覆盖它,那么您只需复制它并使用该命名约定命名它:node--[content type name].tpl.php
    • 我试过了,但是Bootstrap父模板主题中没有node.tpl.php。
    • 它不是来自引导主题 - 主题不需要为所有内容提供 tpls。您可以在 modules/node/node.tpl.php 的节点模块上找到它。
    猜你喜欢
    • 1970-01-01
    • 2011-10-11
    • 2016-08-22
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多