1

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

但是当我这样做时:

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

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

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

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

4

3 回答 3

5

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编辑该预告片的主题。

于 2009-03-25T15:23:07.797 回答
0

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

于 2009-06-02T07:38:47.790 回答
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.';
}?>
于 2011-05-04T00:26:14.463 回答