标签: sightly

AEM 6.0视力儿童节点

我有一个关于使用Sightly访问组件的子节点的问题.我有一个模板,它使用data-sly-resource引入一个基本的图像组件,就像这样.

<div class="${wcmmode.edit ? 'image-edit image' : 'image'}" data-sly-resource="${ 'heroImage' @ resourceType='/libs/foundation/components/image', appendPath='image', selectors='fileReference' }"> </div>
Run Code Online (Sandbox Code Playgroud)

我想要做的是根据图像组件是否实际具有图像集来更改css类.为此,我的计划是访问图像组件节点并读取其文件引用.沿途的东西

<h1>${ properties["heroImage"] }</h1>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用.我的问题是如何从我的模板中访问heroImage资源的fileReference,将其视为子节点.

谢谢,哈利

adobe aem sightly

3
推荐指数
1
解决办法
7835
查看次数

AEM6 Sightly:如何将参数从HTML传递到Java模型类的方法?

我想将一个参数从html传递给WCMUse类.

Java的:

public class ComponentHelper extends WCMUse {

    public void activate() throws Exception {}

    ...

    public String methodA(String parameter1) {
        ...
    }

    public String getParam() {
        String param = "";
        ...
        return param;
    }
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<componentHelper data-sly-use.componentHelper="ComponentHelper" data-sly-unwrap />
...
<div>
    ${componentHelper.methodA @ parameter1=componentHelper.param}
    <!--/* Also tried: ${componentHelper.methodA @ componentHelper.param} */-->
</div>
Run Code Online (Sandbox Code Playgroud)

不幸的是,看起来我无法将任何参数传递给方法.有没有办法从html传递参数到WCMUse类?

aem sightly

3
推荐指数
1
解决办法
2万
查看次数

列表元素如何在<script>下循环播放?

在我的html页面中,我想循环遍历我的Java类返回的属性,但是在<script>标记下进行.

目前我的html页面有这样的:

<div id="map_wrapper">
<div    data-sly-use.ev="Foo"
        class="mapping"
        id="${ev.googleClass || ''"
        >
</div>
</div>

<script>
   ....
              var markers = [                
          ['Bondi Beach', -33.890542, 151.274856],
          ['Coogee Beach', -33.923036, 151.259052],
          ['Cronulla Beach', -34.028249, 151.157507],
          ['Manly Beach', -33.80010128657071, 151.28747820854187],
          ['Maroubra Beach', -33.950198, 151.259302]
              ];
  .....
</script>
Run Code Online (Sandbox Code Playgroud)

我的Java类有以下getter:

//returns [0] = "something, -33.89, 151.2" [1] = "beach, -33.9, 15.02" etc.
public List<String> getVals() {
    return vals;
}

public String getGoogleClass() {
    if (vals.size() == 0)
        return "";
    return "map_canvas";
}
Run Code Online (Sandbox Code Playgroud)

如何用返回的值替换标记中markers …

javascript java osgi aem sightly

3
推荐指数
1
解决办法
1897
查看次数

从轻松的javascript使用功能调用OSGi服务

我试图从一个轻松的JavaScript使用功能访问OSGi服务.通过吊索SlingScriptHelper.我可以sling.getService(Service.class)从javascript 调用该方法,但我不知道如何在javascript中指定类.

看起来应该可以使用完全限定名称或使用rhino来引用java类importPackage(..).

但是,我得到以下异常:

org.apache.sling.scripting.sightly.SightlyException:
org.mozilla.javascript.EvaluatorException: Can't find method
org.apache.sling.scripting.core.impl.InternalScriptHelper.getService(object).
Run Code Online (Sandbox Code Playgroud)

rhino aem sightly

2
推荐指数
1
解决办法
3047
查看次数

Sightly真的不支持任何算术运算符吗?

我正在尝试从Sightly列表中的项目总数中减去2。

<ul data-sly-list="${javaClass.list}">
    <li>
         <span> ${itemList.size -2 @ context='number'}</span>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

结果是:

org.apache.sling.scripting.sightly.SightlyException:模板中的解析错误...:表达式$ {itemList.size -2 @ context ='number'}的令牌识别错误:'-'

为此,我真的必须在Java中创建一个方法吗?喜欢:

javaClass.getListCountMinusTwo()
Run Code Online (Sandbox Code Playgroud)

对于任何解决方法,我将不胜感激。

arithmetic-expressions sightly

2
推荐指数
1
解决办法
1564
查看次数

当data-sly-test评估为false时保留子元素?

检查这个

<a href="${mybean.href}" data-sly-test="${mybean.href}">
  <img src="myimage.jpg" />
</a>
Run Code Online (Sandbox Code Playgroud)

我们需要的

当data-sly-test =“ $ {mybean.href}”计算为false时,仅隐藏锚标记,而不隐藏其子元素。默认行为是,当锚标记消失时,img标记也会消失。我们只想隐藏包装标签。

我希望这样的参数

<a href="${mybean.href}" data-sly-test="${mybean.href @ hideChildren=false}">
  <img src="myimage.jpg" />
</a>
Run Code Online (Sandbox Code Playgroud)

sling aem sightly htl

2
推荐指数
1
解决办法
290
查看次数

AEM如何重用变量

我可以在我包含的另一个文件中使用变量吗?

在我的HTL(file1.html)我有:

<sly data-sly-test.myVar="${properties.myVarFromDialog}"></sly>
<sly data-sly-include="/file2.html"></sly>
Run Code Online (Sandbox Code Playgroud)

我可以在file2.html中使用myVar吗?我没有任何价值.有没有办法从file1.html获取该值以在file2.html中使用

adobe aem sightly htl

2
推荐指数
1
解决办法
2622
查看次数

将参数传递给数据狡猾 - 包含在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)

这可能吗?提前致谢!

aem sightly htl

2
推荐指数
1
解决办法
3815
查看次数

从 AEM 对话框填充 html 标签,例如 &lt;h2&gt;

我试图允许作者根据对话框中的下拉菜单使用选项“h1、h2、h3、h4”更改标记中的标题大小。如果未选择,则应默认为 h2。

我尝试使用三元代码来执行此操作,就像处理动态类或内容一样,但是当我执行此操作时,它只会将代码打印在页面上。以下结果应该是<h2> Heading </h2>或已将 h2 替换为对话框选择

<${properties.headingSize ? properties.headingSize : 'h2'}>
    ${properties.heading}
</${properties.headingSize ? properties.headingSize : 'h2'}>
Run Code Online (Sandbox Code Playgroud)

Inspect Element 中此代码的结果是

<${properties.headingSize ? properties.headingSize :="h2" }>Heading <!--${properties.headingSize-->
Run Code Online (Sandbox Code Playgroud)

这不是完成动态标记的推荐方法吗?或者有没有办法让三元正常工作?

aem sightly

2
推荐指数
1
解决办法
1488
查看次数

AEM HTL 数字格式为 2 位数

HTL 中是否有数字格式化程序可以将数字格式化为 2 位数字。我想要

<h2>${ '#' @ format=3}</h2>
Run Code Online (Sandbox Code Playgroud)

渲染 03 而不是 3。

有没有一种 HTL 方法可以在不借助 Sling Model 的情况下做到这一点?

aem sightly

2
推荐指数
1
解决办法
242
查看次数

标签 统计

sightly ×10

aem ×9

htl ×3

adobe ×2

arithmetic-expressions ×1

java ×1

javascript ×1

osgi ×1

rhino ×1

sling ×1