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 に答える