我正在尝试制作一种内容类型,可以根据您所在的页面重复使用不同样式的jQuery库。
所以我创建了一个名为field_CSS的字段,我放置了CSS。但是出于性能原因(以及为了清理代码),我想把它放在HEAD部分。
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文件中?
该字段仅包含纯CSS,现在打印为内联代码。
编辑:克莱夫的帖子完美无瑕。只是不要忘记修复字段主题,这样你就不会在css-section中得到div。答案 0 :(得分:3)
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
替换为您的主题名称。
希望有所帮助