标签: sightly

AEM6(CQ)通过变量via模板轻松传递到javascript

我在AEM6中使用新的语言来使用模板渲染我的组件,在我的组件中有一个视频,它使用JWPlayer插件,需要以下代码来启动视频:

<div id='playerpwSIOjcRZrCa'></div>
<script type='text/javascript'>
    jwplayer('playerpwSIOjcRZrCa').setup({
        file: '//www.youtube.com/watch?v=123456',
        title: 'Video title',
        width: '100%',
        aspectratio: '16:9'
    });
</script> 
Run Code Online (Sandbox Code Playgroud)

但我想让Youtube变量动态化,以便用户可以更改作者中的id,所以在videoPath(youtube id)中传递了以下模板:

<template data-sly-template.player="${@ videoPath}">

    Video Id: ${videoPath}

    <script src="//jwpsrv.com/library/HjcD1BZoEeS7ByIAC0MJiQ.js"></script>

    <div id='playerpwSIOjcRZrCa'></div>
    <script type='text/javascript'>
        jwplayer('playerpwSIOjcRZrCa').setup({
            file: '//www.youtube.com/watch?v=' ${videoPath},
            title: 'Video title',
            width: '100%',
            aspectratio: '16:9'
        });
    </script>

</template>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是标签中的$ {videoPath}没有呈现id作为模板顶部的id.

有没有办法使用明亮的模板解决这个问题?

templates aem sightly

4
推荐指数
1
解决办法
3978
查看次数

无法从吊索模型获取/设置数据

我们有吊带模型.例如

@Model(adaptables=Resource.class)
public class MyModel {

@Inject
private String propertyName;
}
public Image getPropertyName) {
    return propertyName;
}
Run Code Online (Sandbox Code Playgroud)

我们还添加了

<Sling-Model-Packages>
  org.apache.sling.models.it.models
</Sling-Model-Packages>
Run Code Online (Sandbox Code Playgroud)

在此之后,我们可以打开该组件的编辑对话框并检查是否插入了一些数据.我们可以在JCR中看到这些数据但是当我们试图通过Sightly获取propertyName的内容时

<div class="feature-wrapper" data-sly-use.model="org.apache.sling.models.it.models.MyModel">
<div data-sly-test="${model.propertyName}" data-sly-unwrap>
Run Code Online (Sandbox Code Playgroud)

model.propertyName将为空

任何想法或建议?我如何调试Sling?

任何人都可以在这篇文章中添加标签"Sightly"吗?

model jcr sling aem sightly

4
推荐指数
2
解决办法
2198
查看次数

AEM 6 sightly:如何从语言文件中读取变量?

我有以下html:

<div >${'foo' @ i18n}</div>
Run Code Online (Sandbox Code Playgroud)

在我的i18n文件中,我有以下内容:

<foo
            jcr:mixinTypes="[sling:Message]"
            jcr:primaryType="sling:MessageEntry"
            sling:key="foo"
            sling:message="This is dummy text"/>
Run Code Online (Sandbox Code Playgroud)

This is dummy text显示在页面中.到目前为止.问题是这foo是一个来自其他模板的变量,我读如下:

${fooValue} //this returns foo
Run Code Online (Sandbox Code Playgroud)

现在从i18n读取消息我尝试了以下内容:

<div>${'${fooValue}' @ i18n} </div>

但是这会显示${fooValue}在页面中.i18n如果有的话,如何阅读消息variable key

aem sightly

4
推荐指数
1
解决办法
5402
查看次数

Sightly和cq:dropTargets

我正在使用最新的AEM6(以前的CQ)开发一个新站点.最初,您可以将图像/视频拖动到使用JSP的组件dropTarget中设置的组件放置区域.

但是,由于Sightly templating现在是构建组件而不是JSP的首选方法,因此仍然可以在Sighlty模板中使用dropTarget吗?

aem sightly

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

ListChildren递归地输入

有一种Page接口的方法可以用来轻松迭代子进程.

我想以递归方式迭代所有后续的子节点.

有一个重载方法listChildren(Filter,Boolean)可以做到这一点......如何从这个方法调用这个方法?我的意思是如何修改上面提到的标签以递归方式进行.

recursion sling aem sightly

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

如何在aem 6触摸对话框中创建单选按钮

我有一个触摸UI组件,我正在AEM 6中创建一个对话框.我需要在触摸对话框中创建2个单选按钮,如果其中任何一个被选中,则所选单选按钮的相应值应为显示.但是,我不了解如何创建单选按钮选项.我在经典对话框中实现了相同的选项,其中使用了xtype = selection和type = radiogroup,但我不明白如何在触摸对话框中创建它在此输入图像描述

dialog aem sightly htl

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

条件声明

在Sightly模板语言中,对于Adobe AEM6,如果条件为真,如何使用特定类?

$ {properties.reduceImage}是我的复选框,因此如果选中该复选框,则添加该类,否则它不会返回任何内容.我不确定我这样做是否正确.

<div data-sly-test="${properties.reduceImage}" data-sly-unwrap>
    <div class="reduce-image">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

aem sightly aem-6

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

HTL - 如何在另一个页面上显示一个页面,如popup/modal

我正在尝试使用现有页面(使用TouchUI的路径浏览器选择)作为我的HTL页面上的弹出/模态.是否有一种方法可以使用不同的文件添加/注入HTML?它更关于在页面上播放html而不是如何构建对话窗口.

adobe aem sightly htl

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

目测无法识别html

我有将 html 作为字符串值返回的方法。我认为在显示时它会在浏览器上以粗体显示字符串,但它向我显示的字符串与浏览器上的一样。

public String getHtml() {
        return "<b>kunal</b>";
    }

<sly data-sly-use.item="demo.html.DemoHtml">
    ${item.html}
</sly>
Run Code Online (Sandbox Code Playgroud)

输出:

<b>kunal</b>
Run Code Online (Sandbox Code Playgroud)

有什么解决方法吗?

aem sightly

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

AEM HTL / Sightly 日期格式化程序中需要的日期类型

我已经看到,从 AEM 6.3 开始,标记本身就支持日期格式,如下所示:

${ 'dd~MMMM-yyyy' @ format=currentPage.jcr:created }
Run Code Online (Sandbox Code Playgroud)

(参考:https : //github.com/adobe/htl-spec/blob/master/SPECIFICATION.md#1222-dates

我尝试使用该 jcr:created 属性以及来自后端的数据来玩这个格式化程序java.util.Date

我的问题是,是否支持其他日期类型?比如说,java.time.LocalDate?它没有显示在我的测试页面上,虽然我不确定我是否只是缺少一些需要在 HTL 标记上指出的附加属性?

format date aem sightly htl

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

标签 统计

aem ×10

sightly ×10

htl ×3

sling ×2

adobe ×1

aem-6 ×1

date ×1

dialog ×1

format ×1

jcr ×1

model ×1

recursion ×1

templates ×1