2016-10-26 2 views
0

Я пытаюсь вызвать переменную внутри кавычек внутри вызова шаблона данных. Я бы ожидал, что вывод будет включать мою строку с соответствующей переменной внутри кавычек. Ниже приведен шаблон и строка, я использую, чтобы назвать его:Ссылка на переменную внутри вызова шаблона - визитная карточка

шаблон:

<!-- template --> 
    <template data-sly-template.bnrButton="${ @ style='String: button color class (default btn-primary)', classes='String: additional component button classes', text='String: button text (translation key)', defaultText='String: default button text (translation key)', link='String: link target for button (# is default)', fullWidth='Boolean: whether to display button in full width of container', noFollow='Boolean: if button should have a nofollow tag (no is def)', gaCategory='String: GA Category', gaEvent='String: GA Event', gaLabel='String: GA Label', gaAction='String: GA Action'}"> 
    <a class="btn ${style || 'btn-primary'} hidden-print ${classes}${fullWidth ? ' btn-full-width' : ''}" role="button" href="${link || '#'}" rel="${noFollow ? 'nofollow' : ''}" onclick="${gaEvent @ context = 'scriptString'}">${text || defaultText @ i18n}</a>  
    </template> 

    <!-- call made to the template --> 
    <sly data-sly-call="${patterns.bnrButton @ style='btn-secondary-light', classes='btn-sm', text=teaser.libraryButtonHeading, defaultText='View Library', link=teaser.myLibraryLink.href, fullWidth='true', newWindow='false', gaEvent='trackEvent(&#39;Test 1&#39;,&#39;Test 2&#39;,&#39;${teaser.teaserMessage}&#39;)'}"></sly> 

Если пробовал несколько комбинации, чтобы получить teaser.teaserMessage напечатать авторство сообщения, но уже возникли проблемы потому что вызов шаблонов уже находится внутри кавычек. Я хочу иметь возможность передать одну строку (вызванную в вызове шаблона) в шаблон, который включает всю необходимую ему информацию для onclick.

Мысли?

спасибо.

ответ

0

Вы можете использовать data-sly-test.variable_name перед вызовом шаблона для сохранения значения в переменной:

<sly data-sly-test.gaEvent="${'trackEvent(&#39;Test 1&#39;,&#39;Test 2&#39;,&#39;{0}&#39;)' @ format=teaser.teaserMessage}" 
    data-sly-call="${patterns.bnrButton @ ..., gaEvent=gaEvent }"></sly> 
+0

где бы вы добавить, что в строке выше передать его в шаблон? Является ли критерий проверки данных в шаблоне или в вызове шаблона? – Blaris

+0

@Blaris перед вызовом шаблона – Vlad

Смежные вопросы