0

私は drupal テーマを初めて使用します。私は次のことをしたい: 私は、node-product.tpl.php を操作している製品のコンテンツ タイプを持っています。製品のコンテンツ タイプには、"Embedded Video" タイプの CCK フィールドがあります ( http: //drupal.org/project/media )。「埋め込みビデオ」フィールドを

node-product.tpl.php に次のような php コードを追加したいタグ: "print theme(...)"

私はsites/all/modules/cck/content-moduleファイルで次の機能を見つけました:

"関数 content_theme() {

$path = drupal_get_path('module', 'content') .'/theme'; require_once "./$path/theme.inc";

return array( 'content_field' => array( 'template' => 'content-field', 'arguments' => array('element' => NULL), 'path' => $path, )," ...

そのコードから、私のコードは次のようになると思います: " print theme('content_field', $element) "

いくつかの質問: 1. 私は正しい軌道に乗っていますか? テーマ関数を使用する必要があります。正しい cck フック テーマを呼び出していますか? 2.私が正しいと仮定すると、$elementパラメーターがどうあるべきかわかりません。私のnode-product.tpl.phpには、多くのデータを含む$nodeパラメーターがあります。 $node パラメータは、theme(...) 関数に送信する必要がある正しい $element ですか? 3. モジュールのコードを参照するよりも、各モジュールに登録されているテーマ フック名と取得が期待されるパラメーターを確認する方法はありますか?

私の長い質問を読んでくれてありがとう、助けていただければ幸いです。

4

2 に答える 2

2

CCK フィールドは、ノード オブジェクトで次の 2 つの形式で使用できます。

  • $node->field_[field_name]
  • $node->field_[field_name]_rendered

レンダリングされたバージョンは、すべてのマークアップを含む CCK フィールドのテーマ バージョンです。他のバージョンは、レンダリングされたバージョンと CCK が保存したその他のデータを含む配列です。

CCK がノード オブジェクトに注入したデータを使用して、テーマ関数がなくてもやりたいことを実行できるはずです。

于 2010-10-12T14:12:41.090 に答える
0

次回は print_r() 関数を使用してください。;-) たとえば、この場合、print_r($node) を探すと、多くの機能が表示されます。

于 2010-10-20T14:37:24.780 に答える