我期待实施基于CSS样式的分类术语;特别是对于我想要添加当前术语的body标签。
目前,这是我到目前为止所拥有的:
function _phptemplate_variables($hook, $vars = array()) {
global $node;
switch ($hook) {
case 'page': die ('test');
$vars['body_class'] = '';
if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
$vars['body_class'] = 'theme'.arg(2);
}
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
if (is_array($node->taxonomy)) {
foreach ($node->taxonomy as $term) {
$vars['body_class'] .= 'theme'.$term->tid;
}
}
}
if (drupal_is_front_page()) {
$vars['body_class'] .= ' front';
}
break;
}
return $vars;
}
我认为代码没问题,但它永远不会被调用(参见我的'die'函数);使用简单的phptemplate引擎和最小的drupal6安装。
我在这里错过了什么显而易见的事情?
答案 0 :(得分:1)
/**
* Override or insert PHPTemplate variables into the templates.
*/
function phptemplate_preprocess_page(&$vars) {
//
}
/**
* Override or insert PHPTemplate variables into the templates.
*/
function phptemplate_preprocess_node(&$vars) {
//
}
答案 1 :(得分:0)
好吧,多年前我们写了这个http://openconcept.ca/blog/jmlane/taxonomy_specific_css
我需要更新Drupal 6或7,但是校长仍然适用。
答案 2 :(得分:0)
对于Drupal 7,更优雅的解决方案可能是使用Context module。有关详细信息和说明,请参阅以下帖子。
Context模块允许为特定的Drupal页面创建任意上下文,例如基于分类学术语。这些背景可以引发某些反应,例如添加带有所选分类术语的CSS类。