将参数传递给数据狡猾 - 包含在sightly/HTL中

Arc*_*ora 2 aem sightly htl

我有一段Sightly/HTL代码如下 -

<div class="tooltip_modal">
  <div class="modal-content">
    <div class="modal-header">
      <span class="close">&times;</span>
      <h5>Tooltip</h5>
    </div>
    <div class="modal-body">
      <p>${properties.tooltip_textfield}</p>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

请注意,${properties.tooltip_textfield}硬编码到代码中.我将此代码包含在我的组件中,如下所示 -

<div data-sly-include="/custom/tooltip-modal/tooltip-modal.html" data-sly-unwrap></div>
Run Code Online (Sandbox Code Playgroud)

现在我想将一个参数传递给data-sly-include语句,这样当我的HTML代码被渲染时,应该放置传递的参数来代替${properties.tooltip_textfield}.

换一种说法 -

打电话给这个

<div data-sly-include="/custom/tooltip-modal/tooltip-modal.html" parameter= "Dummy Text" data-sly-unwrap></div>
Run Code Online (Sandbox Code Playgroud)

应该呈现这个 -

<div class="tooltip_modal">
      <div class="modal-content">
        <div class="modal-header">
          <span class="close">&times;</span>
          <h5>Tooltip</h5>
        </div>
        <div class="modal-body">
          <p>Dummy Text</p>
        </div>
      </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

这可能吗?提前致谢!

mic*_*roy 5

我相信你所追求的是Sightly Template and Call功能.

模板/ tooltip.html:

<template data-sly-template.tooltip="${@ text}" class="tooltip_modal">
  <div class="modal-content">
    <div class="modal-header">
      <span class="close">&times;</span>
      <h5>Tooltip</h5>
    </div>
    <div class="modal-body">
      <p>${text}</p>
    </div>
  </div>
</template>
Run Code Online (Sandbox Code Playgroud)

component.html:

<sly data-sly-use.tooltipTmpl="templates/tooltip.html"
data-sly-call="${tooltipTmpl.tooltip @ text='Sample text'}" data-sly-unwrap>
</sly>
Run Code Online (Sandbox Code Playgroud)