私が開発しているプラグインでコンテンツ レンダラーを拡張して、このプラグインの目的では柔軟性に欠けるコンテンツ オブジェクトの代わりに、カスタム Mura タグを追加して Web サイト全体で使用できるようにしようと考えています。
まず、これは正しい方法ですか?私は間違ったツリーを吠えていますか? コンテンツ オブジェクトを使用せずにそれを行うより簡単でわかりやすい方法はありますか?
誰かが私がこれを解決するのを手伝ってくれたら、それは素晴らしいことです.
私が開発しているプラグインでコンテンツ レンダラーを拡張して、このプラグインの目的では柔軟性に欠けるコンテンツ オブジェクトの代わりに、カスタム Mura タグを追加して Web サイト全体で使用できるようにしようと考えています。
まず、これは正しい方法ですか?私は間違ったツリーを吠えていますか? コンテンツ オブジェクトを使用せずにそれを行うより簡単でわかりやすい方法はありますか?
誰かが私がこれを解決するのを手伝ってくれたら、それは素晴らしいことです.
カスタム mura タグを追加するには、イベント ハンドラ内で injectMethod 関数を使用できます。
プラグイン イベント ハンドラの onSiteRequestStart メソッドで、次の関数を使用できます。
<cfset $.getContentRenderer().injectMethod('[mura-tag-key]',[actual-function-to-inject]) />
したがって、イベント ハンドラーで getAddress という関数を作成すると、onSiteRequestStart で次のコードを使用して、dspAddress という名前の mura タグとして使用できるようになります。
<cfset $.getContentRenderer().injectMethod('dspAddress',getAddress) />
GitHub の More dspObjects プラグインで、この実際の例を確認できます: eventHandler.cfc