[英]Injecting field content to html.tpl.php in Drupal 7
我正在尝试制作一种内容类型,该内容类型可以根据您所在的页面使用不同的样式来重用jQuery画廊。
因此,我在其中放置了一个名为field_CSS的字段。 但是出于性能原因(并且为了清理代码),我想将其放在HEAD部分中。
开头部分的内容显示在html.php.tpl-filde中,并且该字段位于特定节点的内容类型中。
我试过<?php print render($content['field_CSS']) ?> <?php print render($page['field_CSS']) ?> <?php print $node->field_CSS[0]['view']; ?>
<?php print render($content['field_CSS']) ?> <?php print render($page['field_CSS']) ?> <?php print $node->field_CSS[0]['view']; ?>
和许多其他变体。 有谁知道该怎么写才能显示在html.tpl.php文件中?
该字段仅包含现在以内联代码形式打印的纯CSS。
编辑:Clive发布工作完美。 只是不要忘了修复主题,因此不要在css部分中获得div。
该节点通常在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
。
希望有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.