Drupal CCK:如何用其字段输出节点预告片?

时间:2009-03-25 13:51:02

标签: php drupal drupal-6 cck

在我的模块中,我想输出节点预告片。该节点具有CCK字段,我希望它们能够根据您在内容类型/字段设置管理区域中选择的可见性设置进行显示。

但是当我这样做时:

$html = theme('node', $n);

生成的预告片不会包含CCK字段,只包含标题和正文。

我需要调用哪些其他主题功能?

该节点包含图像和节点引用等字段。我想我可以手动编写HTML,但在我看来最好使用提供的主题函数......

3 个答案:

答案 0 :(得分:5)

http://api.drupal.org/api/function/node_view/6

$node = node_load($n);
$html = node_view($node,TRUE);

然后您可以选择要在内容类型>显示字段上显示的字段,之后您可以通过contemplate module node-content_type.tpl编辑该预告片的主题.php 在主题文件夹上。

答案 1 :(得分:0)

http://drupal.org/node/362068#comment-1216250您可以使用视图2

来实现它

答案 2 :(得分:0)

此外,从代码中使用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.';
}?>