问题标签 [htl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
aem - 如何使用 HTL/Sightly 访问后缀?
TLDR:创建一个名为“mypage.html”的新 AEM 页面。在 URL 中提供后缀。将此后缀传递给 Sling servlet。后缀充当 URL 参数。
示例所需的 URL:http://localhost:4502/mypage.html/john/smith
所以我创建了一个可以读取后缀的 servlet(使用本指南: http ://www.aemcq5tutorials.com/tutorials/sling-servlet-in-aem/)。
如果我通过http://localhost:4502/content/geometrixx/en.name.html/first/last访问它,它工作正常
我接下来要做的是创建一个名为“mypage.html”的新页面,并提供 first 和 last 作为后缀。
mypage 将在格式正确的页面中显示与此人相关的信息。使用上面的代码,我得到的只是 JSON 响应。
我认为实现我的目标需要一些假设/更改:
- 我将在 servlet 代码上使用路径和请求参数(即使用 request.getParameter("myparameter")
- 我将使用 AJAX 访问 servlet
如果我的假设是正确的,我如何从 HTL/Sightly 访问后缀?我知道我可以通过 ${request.requestURI} 甚至 Javascript 获取 URI。然后使用这个值,我可以在我的 AJAX 调用中使用它。
但这是 AEM/Sling 的做法吗?或者也许有更好的方法来做我想做的事?
非常感谢!
aem - 在 Adobe AEM HTL(以前称为 Sightly)中实施自定义选项?
这个问题是关于选项的,它是 Adobe 专有语言中的一项功能HTL
:
我的简单问题:我可以通过实现自己的自定义选项来扩展 HTL 吗?如果是这样,怎么做?
aem - 我可以在 WCMUsePojo 布尔 getter 中使用除“is”之外的其他前缀吗?
我在 Java pojos 中看到了使用can、has和should而不是通常的 is的约定。但是,在 AEM 6.1 中我们有WCMUsePojo
权利吗?肯定有效,我试过了,但没有奏效。这是一个错误还是从未真正打算为除isWCMUsePojo
之外的布尔值添加其他 getter 前缀?
aem - AEM HTL/Sightly 在 URL 中连接字符串以在灯箱中播放视频或在新窗口中播放 PDF
我是 Sightly 和 AEM 开发的新手,我正在尝试连接以下字符串 href 以在灯箱中播放视频或在新窗口中打开 PDF。当我试图让它发挥作用时,任何建议都将不胜感激。
谢谢
sling - 使用 HTL 在 Sling 中应用母版页模板
是否有任何简单的方法可以将页面模板应用于多个 Apache Sling 脚本?
我正在寻找类似于JSP 2.0 Tag选项的东西。但是,我使用的是不支持此类标签的 HTL。
当然,我可以使用 HTL 包含,例如data-sly-include="${'header.html'}
,但是这些必须手动包含在我创建的每个页面中。
理想情况下,我希望能够拥有一个包含布局的母版页,然后自动将其应用于指定资源类型的所有页面,为每个资源的特定内容留下一个可定制的区域。然后,我可以将我的add.html
, edit.html
, html.html
(etc) 文件限制为仅包含页面内容部分的代码块,从而防止在多个文件中不必要地重复布局代码。
我想我可以通过创建一个母版页资源(例如“页面”),然后设置sling:resourceSuperType
各个资源来实现这一点,但由于这是一个后备,它只会在没有匹配脚本的情况下启动sling:resourceType
-并且会有这样的脚本。
aem - 如何检测 Sling 组件未能呈现并采取适当的措施?
我正在运行 AEM 6.3,并且有一个使用 HTL、Java 等构建的应用程序。我有一个组件作为资源包含,如下所示:
在某些情况下,该资源无法加载并且没有呈现 HTML。如何检测到该故障并采取措施?
最好,我想正常返回响应并设置 HTTP 标头。
谢谢你的帮助!
javascript - 未在导入的组件上设置 AEM 6.2 data-sly-resource resourceType
在 AEM 6.2 中,我想使用“data-sly-resource”导入组件,如下所示:
在此代码中,resourceType 用于引用组件的路径,因此未设置为导入组件的属性。
如果我使用它,则导入的组件没有定义 resourceType。如何定义导入组件的 resourceType?
html - 将数字与对话框中的值进行比较
我希望能够读取我在对话框中设置的值并在 Sightly 中使用它来控制显示的代码部分。当我尝试使用下面的代码时,我收到此错误“操作数不是同一类型:仅支持数字比较”。我尝试了很多不同的修复程序,但没有发现任何有效的方法或任何文档。context = 'number' 不是正确的语法,还是我必须添加其他内容?
在对话框中
在 HTL 中
aem - 访问在页面级 JSP 中设置的变量,在 AEM HTL 中组件的 data-sly-use javascript 中设置?
在页面级组件中,我设置了一个变量。
现在我在页面上创作了一些组件。这些组件应该可以访问 stepIndex 变量。这些组件是用 HTL 编写的,我想在 data-sly-use Javascript api 中访问 stepIndex。
我怎样才能做到这一点?
我可以通过请求使用 JSP 脚本来做到这一点。GET 和 SET 属性,但我想避免这种情况。