2011-02-08 19 views
0

HTMLマークアップのレンダリングをより詳細に制御するために、Views2フィールドハンドラにいくつかのレンダリングオプションを追加したいとします( 'このフィールドをリンクとして出力'または 'このフィールドの出力を書き換えます'いくつかの余分な属性をタグに追加する必要があります)。私はこの追加のオプションをすべて(またはほとんどのフィールドで)利用できるようにしたいと思います。デフォルトのViews2フィールドハンドラー(views_handler_fieldクラス)を自分のフィールドハンドラーに置き換えることはできますか?独自のハンドラ(hook_views_handlers)を送信するためのフックがあり、与えられたフィールド(hook_views_data_alter)にどのハンドラを使用するべきかを他のモジュールに伝えるフックがあります。また、view_handler_fieldとその子孫のデフォルトの継承パターンをオーバーライドする方法もありません。私のクラスで他のモジュールが提供するフィールドハンドラを1つずつ拡張することは意味がないようです。この問題を解決する正しい方法ではないと私は正しく言っていますか?Views2ベースフィールドハンドラの置き換え

もし私が正しいのであれば、(1)いくつかの入力でフィールドオプションフォームを拡張し、(2)入力に基づいてこのフィールドのレンダリングを変更する別の方法は何ですか?私は、デフォルトでDrupalフックでフォームを変更することで(1)を達成できたと思いますが、レンダリングメソッドは指定されたフィールドハンドラに属しており、コールを傍受して変更されたマークアップを出力する方法は見当たりません。

答えて

0

理論的には、存在しないhook_views_handlers_alterを使用して、クラスのパスをどこかに変更することができます