web-dev-qa-db-ja.com

テンプレートを使用せずにCCKフィールド出力を書き換える

ビューモジュールには、フィールドの出力を書き換えるためのニースオプションがあります。これにより、そのビューのテンプレートを作成しなくても、トークンを使用してCCKフィールドの出力を適合させることができます。

コンテンツタイプの[フィールドの表示]タブに同様の機能を許可するモジュールはありますか?ティーザーと本文のフィールド出力を少し変更する必要がありますが、完全なテンプレートを作成したくありません。

私は現在Contemplateを使用していますが、Drupal PHP API。また、コンテンツタイプにフィールドを追加するたびにテンプレートを変更する必要があるのも不愉快です。実際には、本文全体やティーザー全体ではなく、いくつかのフィールドのみを書き換える必要があります。

したがって、私が欲しいのは、そのコンテンツタイプで利用可能な任意のトークンを使用して各CCKフィールド出力を書き換える簡単な方法です。そのようなものは存在しますか?

7
Mad Scientist

Custom Formatters モジュールを探しているように聞こえます。Contemplateによく似ていますが、特にDisplay SettingsページまたはViewsで使用するフィールドフォーマッターを作成するためのものです。

カスタムフォーマッタは、トークンまたは純粋なPHPコードの両方で構築できます。

さらに、カスタムフォーマッタは、ネイティブDrupalフックとして、またはカスタム機能のエクスポート可能な形式でエクスポートできます。

5
Decipher

マークアップを調整するだけの場合は、 Semantic CCK を試してみる価値があります。

セマンティックCCKは、CCKフィールドのHTML出力をカスタマイズする手段をユーザーに提供するために作成されました。これは、ビューに同じ機能を提供する非常に推奨されているモジュールのセマンティックビューに一部影響を受けています。

Drupal 7

A DrupalセマンティックCCKの7バージョンは現在開発中です セマンティックフィールド

4
tim.plunkett

Contemplateモジュールを使用すると、データベースにPHPコードが配置されます。これは、一般にセキュリティの脆弱性と非パフォーマンスと見なされているためです。

hook_field_formatter_info() を使用して、独自のフィールドフォーマッタを定義することを検討できます。これにより、各フィールドを処理できるカスタムコールバックを定義できます。 これは簡単なチュートリアルです これがどのように機能するかについてDrupal 6。

他のモジュールのhook_field_formatter_info()の実装を参照して、それがどのように機能するかを確認します。 Drupal 6では、hook_theme()と直接関連付けられますが、Drupal 7では hook_field_formatter_view() を使用します。

2
c4rl

Token Field モジュールでは、トークンを使用してフィールドを組み合わせることができます。

0
keva

Token Filter モジュールを使用して、入力フィルターでCCKフィールドにトークン値を指定します。以下は、モジュールのプロジェクトページからの抜粋です。

...トークン値を入力フィルターとして使用できるようにする非常に単純なモジュール。

0
bkildow

D6でフォーマットを最も制御できる Display Suite module を探しているかもしれません。こちらが デモビデオ です。

0
Adam S

私もしばらくの間、これと同じ問題と戦ってきました。

使用できない/使用したくない...

  1. 平凡なアーキテクチャの理由を考慮してください。
  2. 素晴らしいですがやり過ぎで、実際にはフィールドの単純な変更はできません。
  3. データベースで複数の値フィールドの場合もPHPで終わるため、カスタムフォーマッタ。
  4. 項目のテキスト行を追加しているだけなので、フィールドテンプレート。
  5. セマンティックCCKは要素とクラスのみを変更するためです。
  6. 構成可能にする必要があるため、hook_preprocessまたは別のコードベースのソリューション。

私がする必要があるのは、出力を表示するためにCCKフィールドの説明を追加するだけの場合、それは本当の困惑です。これは実際にはかなり単純なはずです。

カスタムフォーマッタが必要なようですね。

0
doublejosh

これは、D6のカスタムフォーマッターの非常に迅速かつ明確な説明です。

http://manueg.okkernoot.net/blog/200907/how-create-cck-formatter

0
lazysoundsystem