我看到这个问题之前被问过几次,我试着回答,我试着修改答案,但是没有。
案例:我已经安装了高级论坛,并且我正在使用appcache(你现在不想逃跑吗?)显然,我需要在浏览论坛时关闭appache,我设法使自定义html.tpl.html为/论坛和/论坛,所以当我寻找论坛列表和主题列表,我不会得到缓存。但是:当我在看论坛主题时,它是一个帖子,帖子类型(机器类型是论坛),我已经在template.php中定义:
function flowrox_preprocess_html(&$vars) {
$node = menu_get_object();
if ($node && $node->nid) {
$vars['theme_hook_suggestion'][] = 'html__' . $node->type;
}
}
,它不会改变。
所以我能够改变html.tpl.php的路径,但不为节点类型。请帮助我,纠正我的知识做这样的事情。
谢谢大家!!(顺便说一句,我不需要appcache的教训,真诚地,如果你有manifest = x.appcache"在你的HTML标签,它会缓存它,即使它是在网络部分)
$vars['theme_hook_suggestions']
和$vars['theme_hook_suggestion']
有细微差别。
$vars['theme_hook_suggestions']
是主题建议的ARRAY,该数组末尾的模板优先级高于前面的模板。
// example
$vars['theme_hook_suggestions'][] = 'html__' . $node->type;
$vars['theme_hook_suggestion']
是一个STRING表示要使用的模板文件,其优先级高于$vars['theme_hook_suggestions']
。这意味着如果任何主题建议传递给$vars['theme_hook_suggestion']
, $vars['theme_hook_suggestions']
将被忽略。
// example
$vars['theme_hook_suggestion'] = 'html__' . $node->type;
我现在为你感到难过。
应该是$vars['theme_hook_suggestions']
而不是$vars['theme_hook_suggestion']
(建议后面的s)