我在网上检查了很多关于drupal6中主题的区域。网络中的所有教程都说主题模块,这意味着主题是一个小区域或主题是一个小小的blobk等。但在我的情况下,我需要在访问模块时更改页面的整个模板。这可以在drupal6
吗?
答案 0 :(得分:2)
您可以在主题的template.php函数中编写if条件。
该函数为template_preprocess_page(&$variables)
在这个函数中,写一些if条件。
For example:
if($some_condition) {
$suggestions[] = 'YOUR_CUSTOM_TEMPLATE';
}
$variables['template_files'] = $suggestions;
您将获得模板“YOUR_CUSTOM_TEMPLATE.tpl.php”。 哪个应该在主题的模板目录中。
此外,您可以拥有内容类型的自定义模板。 例如对于内容类型学生,模板将为:
page--student.tpl.php
答案 1 :(得分:0)
来自Drupal Answers(https://drupal.stackexchange.com/a/18670):
如何使用其他模板创建自定义页面?
您可以通过建议新的页面为页面使用不同的模板 将使用的模板文件。
这可以通过写一个主题来完成 template_preprocess_page(),或通过实施的模块 hook_preprocess_page()。 如果您在模块中使用它,则需要使用template_preprocess_page() 重命名为mymodule_preprocess_page(),其中“mymodule”是模块的简称。
function mymodule_preprocess_page(&$variables) {
if (arg(0) == "node" && arg(1) == "1") {
array_unshift($variables['theme_hook_suggestions'], "page--custom-template");
}
}