[英]Drupal CCK: how to output a node teaser with its fields?
在我的模块中,我想输出节点预告片。 该节点具有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);
然后,您可以选择要在“ 内容类型”>“显示字段”上显示的字段 ,然后可以通过主题模块上的con 沉思模块或node-content_type.tpl.php编辑该预告片的主题。
另外,从代码中使用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.';
}?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.