コーディングパフォーマンスは常に改善されており、すべてのページの読み込みを監視して、Webサイトでの読み込み時間を最適化しています。
上記のステートメントを念頭に置いて、レンダリング可能な配列をどこにレンダリングすればよいかという疑問に遭遇しました。
それらをプリプロセッサーでレンダリングする場合、変数を出力するだけなので、テンプレートはかなりきれいに保たれます。
プリプロセッサ:
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
)では、変数が出力されるだけです。
誰もがこの問題に最もクリーンで最速の方法で取り組む方法に関するルールやいくつかのヒントやアドバイスを持っていますか?
node.tpl.php
印刷するのhtml.tpl.php
ですか?このnode_view()
問題にどのように取り組みますか?
node_view()
フィールドのレンダリングになぜ使用しているのかは明らかではありません。ノードテンプレートでは、フィールドはそのようにレンダリングされません。