расширить контентRenderer Mura - PullRequest
1 голос
/ 01 ноября 2011

Я хочу расширить средство визуализации контента в разрабатываемом плагине, чтобы можно было добавлять собственные теги Mura для использования на веб-сайте вместо объектов контента, которые для этого плагина слишком негибкие.

Во-первых, это правильный путь?Я лаю не на том дереве, и есть более простой и очевидный способ сделать это без использования объектов контента?

Если бы кто-нибудь мог помочь мне решить эту проблему, это было бы здорово.

1 Ответ

4 голосов
/ 01 ноября 2011

Чтобы добавить собственные теги mura, вы можете использовать функцию injectMethod в вашем обработчике событий.

В методе onSiteRequestStart вашего обработчика событий плагинов вы можете использовать следующую функцию:

<cfset $.getContentRenderer().injectMethod('[mura-tag-key]',[actual-function-to-inject]) />

Такесли вы создадите функцию getAddress в своем обработчике событий, вы можете сделать ее доступной в виде тега mura с именем dspAddress, используя этот код в onSiteRequestStart:

<cfset $.getContentRenderer().injectMethod('dspAddress',getAddress) />

Вы можете увидеть реальный пример этогов моем плагине More dspObjects на GitHub: eventHandler.cfc

...