我们正在不断提高编码性能,并且正在监控每个页面的加载情况,以优化网站的呈现时间。
在上面的声明中,我偶然发现了一个问题,我们应该在哪里渲染可渲染数组?
如果在预处理器中渲染它们,则模板将保持整洁,因为您仅打印变量。
预处理器:
function template_preprocess_node__faq(&$variables) {
$node = node_load($variables['nid']);
$node_style = node_view($node, $variables['view_mode']);
$faq_sets = array(
'#theme' => 'my_module_faq_set',
'#sets' => $variables['field_faq_set'],
);
$variables['faq_image'] = render($node_style['field_faq_image']);
}
模板:
<div class="faq_image">
<?php print $faq_image; ?>
</div>
但是,我不确定这是预处理和打印变量的正确/最快/最近的方法。
我猜Drupal并不是这个问题……在node.tpl.php
呈现默认变量的同时,在其他默认模板(如html.php.php
)中,变量只是被打印出来。
是否有人有规则和/或一些技巧和建议以最干净,最快的方式解决此问题?
谢谢(你的)信息。那么为什么在Drupal中渲染并在其中
—
米歇尔
node.tpl.php
打印html.tpl.php
?您将如何解决这个node_view()
问题?
node_view()
渲染字段。字段不会在节点模板中以这种方式呈现。