我正在尝试制作一种内容类型,可以根据您所在的页面使用不同的样式重用jQuery-gallery。
因此,我创建了一个名为field_CSS的字段,将CSS放在其中。但是,出于性能原因(以及为了清理代码),我想把它放在HEAD-section中。
head部分的内容在html.php.tpl-filde中呈现,字段在特定节点的内容类型中。
我已经尝试过<?php print render($content['field_CSS']) ?> <?php print render($page['field_CSS']) ?> <?php print $node->field_CSS[0]['view']; ?>和很多其他的变种。有谁知道要写些什么才能在html.tpl.php文件中显示出来?
该字段仅包含现在打印为inline-code的纯CSS。
编辑: Clive post可以完美地工作。别忘了修改字段主题,这样你就不会在css-section中得到div了。
发布于 2011-09-09 05:11:44
该节点在html.tpl.php中通常不可用,因此您需要在预处理函数中手动获取字段内容。在主题的模板文件中放入类似这样的内容:
function MYTHEME_preprocess_html(&$vars) {
$node = menu_get_object();
if ($node && isset($node->nid)) {
$node = node_load($node->nid);
node_build_content($node);
$vars['extra_css'] = render($node->content['field_CSS']);
}
}然后,您将在html.tpl.php中拥有变量$extra_css,该变量将包含呈现的字段。一旦实现了预处理函数,就需要刷新缓存,并将MYTHEME替换为主题的名称。
希望这能有所帮助
https://stackoverflow.com/questions/7354391
复制相似问题