テーマレイヤーを使用してプログラムでノードのティーザーをレンダリングするにはどうすればよいですか?
テーマレイヤーを使用してプログラムでノードのティーザーをレンダリングするにはどうすればよいですか?
回答:
node_view()
ノードをレンダリングするための標準関数です。
$node = node_load(1);
$view = node_view($node, 'teaser');
$rendered = drupal_render($view);
node
(のnode_theme()
)ノードモジュールによって定義されたテーマがありますが、実際に使用されるのを見たことはありません。
$build += array(
、そこにはとあり#theme
ますが、Drupalに使用するように指示している属性がありますテーマシステム。私が間違っていたら訂正してください。私は今、Drupal APIを「取得」し始めています:)
theme('node', ...
。以前のような電話を見たことがないということです。実際には、それ自体がのrender element
代わりにとして定義されているため、機能しませんvariables
。
theme('theme_name', $args)
と、いわゆる使って、render element
sが。hook_theme()
ドキュメントはかなりよくそれを説明する、それが直感的に100%ではないのですが、あなたが知っていれば、それは本当に便利です。使用するnode_view()
意志をテーマレイヤーをバイパスしないでください。大丈夫です:)