首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向Drupal7中的html.tpl.php注入字段内容

向Drupal7中的html.tpl.php注入字段内容
EN

Stack Overflow用户
提问于 2011-09-09 04:56:42
回答 1查看 3.7K关注 0票数 1

我正在尝试制作一种内容类型,可以根据您所在的页面使用不同的样式重用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了。

EN

回答 1

Stack Overflow用户

发布于 2011-09-09 05:11:44

该节点在html.tpl.php中通常不可用,因此您需要在预处理函数中手动获取字段内容。在主题的模板文件中放入类似这样的内容:

代码语言:javascript
复制
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替换为主题的名称。

希望这能有所帮助

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7354391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档