2014-12-20 2 views
5

Я искал варианты выражения, используемые в зрелищном виде. Я попробовал следующую строку кода, но, похоже, просто перерисовывает текст поверх страницы, может ли кто-то предоставить варианты с некоторыми хорошими примерами.Expression Option Sightly

${'Assets' @ i18n, locale='fr-CH', hint='Translation Hint'} 
    ${'Page {0} of {1}' @ format = [count,total] } 

Я попробовал и понять код, приведенный ниже, чтобы включить parsys

<div data-sly-resource ="${@path='question_list', resourceType='wcm/foundation/components/parsys'}"></div> 

Кроме того, откуда я могу получить весь список [элементов] данными sly-.

Благодаря

+0

Проверить http://docs.adobe.com/docs/en/aem/6-0/develop/sightly.html – apurvc

+0

Также проверьте спецификацию на https://github.com/Adobe -Marketing-Cloud/sightly-spec/blob/master/SPECIFICATION.md – apurvc

ответ

23

Параметры в выражениях могут красивый иметь два различных вида использования:

  1. Они могут выступать в качестве инструкции, которые обрабатывают вывод выражения, как функция будет.
  2. Когда выражение находится в операторе data-sly- *, они позволяют предоставить инструкции или параметры для этого оператора.

Примечание: легко опробовать примеры, приведенные ниже, вы можете установить REPL tool на вашем экземпляре AEM.

На простом выражении (т.е. не находится в data-sly-* заявлении), возможны следующие варианты:

  • format: Объединяет строки.
    Пример: ${'Page {0} of {1}' @ format = [1, 10]}
    Дисплеи: Page 1 of 10
  • i18n: Переводит строку. Кроме того, locale позволяет изменить язык, если необходимо сделать что-то отличное от текущего языка страницы, а hint позволяет предоставлять переводчику помощь и различать строки, которые могут быть идентичными, но имеют разные значения.
    Пример: ${'Number' @ i18n, locale = 'de', hint = 'Media DPS Folio Number'}
    Дисплеи: Nummer
  • join: Определяет разделитель строки для отображения между элементами массива.
    Пример: ${['foo', 'bar'] @ join = '-'}
    Дисплеи: foo-bar
  • context: управления как HTML спасаясь и применяет защиту XSS.
    Пример: ${'<p>Hi!</p><script>alert("hack!")</script>' @ context = 'html'}
    Дисплеи: <p>Hi!</p>

После утверждения позволяют варианты выражения, как указано выше, поскольку эти заявления похожи на записи выражения без заявления:

  • data-sly-text:
    Этот пример: <p data-sly-text="${currentPage.title}">Lorem ipsum</p>
    Это эквивалент: <p>${currentPage.title}</p>
    (Это может быть полезно, если вы хотите оставить заполнители, предоставляемые HTML дизайнером в разметке.)
    Так вот пример: <p data-sly-text="${'Page {0} of {1}' @ format = [1, 10]}"></p>
    дисплеи: <p>Page 1 of 10</p>
  • data-sly-attribute:
    Этот пример: <p href="#" data-sly-attribute.href="${currentPage.path}"></p>
    Это эквивалентно: <p href="${currentPage.path}"></p>
    (Это может быть полезно для написания допустимого HTML, поскольку валидатор W3C HTML5 проверяет правильность построения URL-адресов. Кроме того, это позволяет оставить заполнители, предоставляемые HTML дизайнера в разметке)
    Так что этот пример:. <p data-sly-attribute.title="${['foo', 'bar'] @ join = '-'}"></p>
    Дисплеи: <p title="foo-bar"></p>
    Обратите внимание, что данные, хитрый-атрибут может также использоваться, чтобы задать несколько атрибутов, предоставляя Iterable ключа -значный объект, как в приведенном ниже примере. Но это использование данных-хитро-атрибут не позволяет использовать любые варианты: <div data-sly-attribute="${properties}"></div>

После заявления принимает любые варианты выражения, поскольку они позволяют передавать именованные параметры:

  • data-sly-use:
    Пример: <p data-sly-use.bar="${'logic.js' @ foo = 'hello'}">${bar}</p>
    logic.js: use(function() { return this.foo + " world"; });
    Дисплеи: <p>hello world</p>
  • data-sly-template and data-sly-call:
    Пример:
    <template data-sly-template.tmpl="${@ foo}">${foo} world</template>
    <p data-sly-call="${tmpl @ foo = 'hello'}"></p>
    Дисплеи: <p>hello world</p>

Эти заявления позволяют пользовательский список опций:

  • data-sly-include:
    Обратите внимание, что: <div data-sly-include="${ @ path = 'path/to/template.html'}"></div>
    эквивалентны: <div data-sly-include="${'path/to/template.html'}"></div>
    Или даже: <div data-sly-include="path/to/template.html"></div>
    (я всегда выбираю более короткую письменную форму.)
    Варианты данных хитрая-включают (кроме path) являются:
    • prependPath: Добавляет что-то прежде, чем путь.
    • appendPath: Добавляет что-то после пути.
    • wcmmode: Изменяет WCM mode для прилагаемого файла.
  • data-sly-resource:
    Здесь слишком короткая форма Сочинение: <div data-sly-resource="par"></div>
    же, как для data-sly-include, но он дополнительно принимает следующие параметры:
    • селекторы: заменить селекторы.
    • addSelectors: Добавить селекторы.
    • removeSelectors: Удалить селектор.
    • resourceType: Определение или изменение типа ресурса (требуется только в том случае, если он еще не определен как необходимый для узла содержимого).
    • decorationTagName и cssClassName: Для обратной совместимости с тем, как AEM добавила элементы DIV вокруг включенных компонентов в JSP.

И следующие утверждения не допускают возможности выражения:

+0

Спасибо, Габриэль, его хорошо объяснил :) –

+0

Хорошо объяснил. – Rupesh

+0

Очень хорошо Разъяснение (Y) – Manisha