質問

私はDrupalテーマに慣れていません。次のことをしたい:私はそれを操作している製品コンテンツタイプを持っています。それはノードプロダクトを操作しています。tpl.php、製品コンテンツタイプには「組み込みビデオ」のタイプのCCKフィールドがあります(で見つかったメディアモジュールを使用してください http://drupal.org/project/media )。 「埋め込まれたビデオ」フィールドを包む必要があるので

タグ私は私のnode-product.tpl.phpに追加したいです。

サイト/すべて/モジュール/CCK/コンテンツモジュールファイルで、次の関数を見つけました。

"function 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、 "...

そのコードから、私は自分のコードが「印刷テーマ( 'content_field'、$ element)」であるべきだと思います。

いくつかの質問:1。私は正しい軌道に乗っていますか?テーマ関数を使用する必要があります。適切なCCKフックテーマを呼んでいますか? 2.私が正しいと仮定すると、$ elementパラメーターが何であるべきかを知ることができません。Node-product.tpl.phpでは、多くのデータが含まれている$ノードパラメーターがあります。どうすれば取得できますか$ノードパラメーターテーマ(...)関数に送信する必要がある正しい$要素? 3.モジュールのコードを閲覧するよりも、各モジュールの登録テーマフック名と、彼らが得ると予想されるパラメーターについて知るバッターの方法はありますか?

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

役に立ちましたか?

解決

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

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

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

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

他のヒント

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top