【发布时间】:2011-05-20 18:30:46
【问题描述】:
我正在使用 Drupal 6。我有一些 css,我只想将其应用于特定的内容类型。内容类型机器可读名称为“snap”。
我复制了 page.tpl.php 并创建了另一个名为 page-snap.tpl.php 的文件。
我已经重新启动了 apache 和 mysql 并刷新了缓存,但是当我寻找要用作 DIV 的内容类型 snap 时,我什么也没看到。
我做错了什么?
谢谢,
【问题讨论】:
我正在使用 Drupal 6。我有一些 css,我只想将其应用于特定的内容类型。内容类型机器可读名称为“snap”。
我复制了 page.tpl.php 并创建了另一个名为 page-snap.tpl.php 的文件。
我已经重新启动了 apache 和 mysql 并刷新了缓存,但是当我寻找要用作 DIV 的内容类型 snap 时,我什么也没看到。
我做错了什么?
谢谢,
【问题讨论】:
您可以使用$node->type 包含一些额外的css...
if($node->type == 'snap') {
//inlcude your css file
}
【讨论】:
看看Theming a page by content type
说明:
page-snap.tpl.php 重命名为page-node-snap.tpl.php。在您的主题文件夹中创建一个名为 template.php 的文件
在template.php 中添加:
<?php
function bluemarine_preprocess_page(&$variables) {
if ($variables['node']->type == "snap") {
$variables['template_files'][] = 'page-node-snap';
drupal_add_css(PATH TO CSS FILE); // Enter path to custom css here
}
}
admin/settings/performance)更多关于drupal_add_css()
【讨论】:
template.php 的文件(如果没有,请创建一个)。将其粘贴到该文件中,然后清除缓存。
page-snap.tpl.php重命名为page-node-snap.tpl.php。您使用的主题名称是什么?您需要将“THEMENAME”更改为您的主题名称。因此,如果您使用 Garland(示例),请将“function THEMENAME_preprocess_page”更改为“function garland_preprocess_page”
如果您想要不同内容类型的不同主题,您可以尝试themekey 模块。使用此模块,您可以为不同的内容类型配置主题。
【讨论】: