在我的一个模块中,我想输出节点预告片。该节点具有 CCK 字段,我希望它们根据您可以在内容类型/字段设置管理区域中选择的可见性设置进行显示。
但是当我这样做时:
$html = theme('node', $n);
生成的预告片将不包含 CCK 字段,仅包含标题和正文。
我还需要调用哪些其他主题功能?
节点包含图像和节点引用等字段。我想我可以手动编写 HTML,但在我看来最好使用提供的主题功能......
http://api.drupal.org/api/function/node_view/6
$node = node_load($n);
$html = node_view($node,TRUE);
然后您可以选择要在Content Type>Display Fields上显示的字段,然后您可以通过主题文件夹中的contemplate 模块或node-content_type.tpl.php编辑该预告片的主题。
http://drupal.org/node/362068#comment-1216250您可以使用视图 2 来实现
此外,从代码中使用 node_view 总共允许 4 种节点模板模式。
node_view($node, $teaser = FALSE, $page = FALSE, $links = TRUE)
对于疯狂的节点,我有这样的模板......
<?php
switch(true){
case($page && $teaser): ?>
<div class="content">
<?=$content?>
</div>
<?php
break;
case($page && !$teaser): ?>
<div class="content">
<?=$content?>
</div>
<?php
break;
case(!$page && $teaser): ?>
<div class="content">
<?=$content?>
</div>
<?php
break;
case(!$page && !$teaser): ?>
<div class="content">
<?=$content?>
</div>
<?php
break;
default: print 'this should never happen.';
}?>