2011-05-20 57 views
2

我正在使用Drupal 6.我有一些CSS只适用于特定的内容类型。内容类型机器可读名称是“snap”。Drupal 6 - 自定义page.tpl

我复制了page.tpl.php并创建了另一个名为page-snap.tpl.php的文件。

我已重新启动apache和mysql并刷新缓存,但是当我查找内容类型捕捉用作DIV时,我什么都看不到。

我在做什么错?

感谢,

回答

1

Theming a page by content type

说明请看:

  • 重命名page-snap.tpl.phppage-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()

+0

感谢您的回复。很抱歉无知,但我在哪里粘贴? – Andrew 2011-05-20 19:02:34

+0

在你的主题文件夹中,_might_是一个名为'template.php'的文件(如果没有,则创建一个)。将其粘贴到该文件中,然后清除缓存。 – Laxman13 2011-05-20 19:03:55

+0

再次抱歉是一个白痴,但我不能得到它的工作。我创建了page-snap.tpl.php。我现在创建了一个名为template.php的文件,并将上面的代码粘贴到该文件中。这样做,我得到一个错误代码在页面的顶部,它表示函数THEMENAME_preprocess_page(&$ variables)if($ variables ['node'] - > type ==“snap”){ $ variables ['template_files' ] [] ='page-node-snap'; } }全部在一行上。对不起,当我创建网站时,我通常没有与标准不同,我所做的大多数网站都非常基本。谢谢 – Andrew 2011-05-20 19:24:40

1

您可以使用$node->type包括一些额外的CSS ...

if($node->type == 'snap') { 
    //inlcude your css file 
} 
0

如果你想为不同的内容类型不同的主题,你可以尝试themekey模块。使用此模块,您可以为不同的内容类型配置主题。