2016-07-22 2 views
0

Как добавить динамическое значение для компонента, который имеет встроенное редактирование? Для экс: Я хочу добавить «Спасибо за загрузку программного обеспечения (необходимо заполнить название программного обеспечения)»Как добавить динамическое значение для компонента, который имеет встроенное редактирование?

ответ

0

Если его необходимо использовать встроенное редактирование,

  1. Один подход заключается в реализации HTML-парсер, sample here в сопряжении с согласованием и заменой логических шаблонов. Пропустите ключа = маркер в URL и сопоставить его с помощью i18n, чтобы получить текст, чтобы заменить в знак при разборе HTML

пример URL -> /path/to/thankyou_page.html?softwareName=download-mysoftware

ключ i18n -> скачать-MySoftware и i18n перевод, как -> My Software

Ваш встроенный текст может быть - "Спасибо за загрузку программного обеспечения {softwareName}"

Ваш Regex может быть - "\\{(.*?)\\}" то есть что-нибудь в фигурные скобки

Если шаблон регулярного выражения совпадает при анализе html, определите ключ в шаблоне и проверьте, соответствует ли он ключу в URL-адресе. Если это не соответствует, ничего не делать как есть. Но если он соответствует, получите соответствующее значение из параметра запроса. Для этого используйте библиотеку i18n, чтобы получить перевод и заменить его.

  1. Другой взгляд на ваше требование заключается в том, что встроенное редактирование является частью авторства, однако требуемый обмен сообщениями является скорее требованием публикации. Итак, что вы можете сделать, это изменить описанный выше подход, вместо того, чтобы использовать синтаксический анализ HTML, используйте SlingModel для выполнения замены токена.