web-dev-qa-db-ja.com

$ <field_name> _renderedの出力を変更しますか?

ノードでは、CCKフィールドの値を$配列として、またはフィールドのレンダリングビューとして$ _renderedとして取得します。 $<field_name>_renderedをデフォルトのレンダリング方法から変更するにはどうすればよいですか?

5
Satya

Drupalは、最終的にレンダリングされたHTMLをオーバーライドできるさまざまな点で素晴らしいものです。テーマレイヤーでのフィールドのレンダリング方法もオーバーライドできることを指摘しておきます。

ファイル... contrib/cck/theme/content-field.tpl.phpを個人のテーマフォルダーにコピーするだけです。そして、名前を

content-field- [field_name] .tpl.php [field_name]は、オーバーライドするcckフィールドのID /名前です。

そのファイルを好きなように編集するだけです。 Drupalが新しいテンプレートファイルを認識できるように、テーマシャッシュテーブルを再構築してください。

6
DKinzer

Custom Formatters モジュールは、迅速かつエレガントに役立ちます。これについての引用は次のとおりです(モジュールのプロジェクトページから):

...ユーザーは、カスタムモジュールを作成する必要なく、カスタムCCK /フィールドフォーマッタを簡単に作成できます。カスタムフォーマッタは、CTools Exportables/FeaturesまたはDrupal APIフォーマッタとしてエクスポートできます。

6
Vacilando

CCKフィールドは、フィールドフォーマッタと呼ばれるものを使用して、その出力を制御します。これは、フィールドがDrupal 7.で行う方法でもあります。フィールドフォーマッタは、実際には呼び出されるテーマ関数にすぎません。

コンテンツタイプの設定:Display fields通常の表示モードとティーザー表示モードのフォーマッターを選択できます。デフォルトのフォーマッターが使用できない場合は、フィールド用に独自のフォーマッターと、そのレンダリング方法を制御するテーマ関数を作成する必要があります。

私はブログ投稿を書きました: CCKのフィールドフォーマッターの作成 ずっと前に、まだそれを使用していることがあります参考までに私自身が参考にしてください。

または、テーマを使用して、フォーマッタのデフォルトのテーマ関数を上書きすることもできます。ただし、これにより、選択したフォーマッタを使用してサイトのすべてのフィールドが変更されます。

5
googletorp