问题标签 [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 - 使用 data-sly-repeat 进行 AEM HTL 循环
我正在尝试使用 data-sly-repeat 进行循环,并且我已经验证 colNum 的值为 2,但循环仍然只运行一次。换句话说,无论值如何,它都不会循环。我还对值 3 进行了硬编码,但它仍然不会多次运行循环。不知道我在这里做错了什么。
提前致谢
aem - 获取 clientlibs 文件的路径
我正在尝试像这里解释的那样预加载资产。
我已将这些包含在/apps/foundation/components/page/head.html
:
现在需要包含的最终文件是clientlibs.js
为clientlibs.css
每个页面放在一起的,根据页面具有不同的路径。例如,对于主页 (/content/homepage.html),clientlibs.js 的路径是/etc/designs/myapp/homepage/clientlibs.js
,而对于最近的帖子 (/content/recent-posts.html),路径是/etc/designs/myapp/posts/clientlibs.js
问题是如何为这些资产编写 URL?
我尝试使用此要点中的全局变量,但没有运气。他们都没有返回资产的正确路径。
java - AEM 6.3 使用 OSGi R6 注释和 Sling 模型
我正在尝试使用 OSGi R6 注释创建一个 OSGi 服务,然后将其注入到 Sling Model 类中,如下所示:
OSGi 配置界面如下所示:
服务类如下所示:
最后是服务接口:
我正在尝试在 HTL 类中使用 Sling Model Pojo,如下所示:
但我看不到任何文字。我使用了 logger.info,但在日志文件中也看不到它。我确定我在这里做错了,但由于我刚刚开始使用 OSGi R6 注释和 Sling 模型,因此无法定位。任何帮助表示赞赏。
添加 Maven 依赖项:
父 pom.xml
核心 pom.xml
aem - AEM 6.3 - 吊索模型不工作
我正在使用一个非常基本的 Sling Model 类,它根本不起作用。这是课程:
我还在这样的部分中包含了包:
我还在这里查找了 Sling Model 类http://localhost:4502/system/console/status-adapters
发现它的条目是这样的:
更令我惊讶的是 com.aem.sites.models.header 包中的 Sling Model 类被正确调用。
我不知道怎么了。
提前致谢
共享 HTL 类:
不工作是指什么都没有发生。error.log 文件中未出现任何错误或任何日志。
aem - 如何在 Sightly/HTL 中检索会话值?
我在我的 AEM 项目(AEM 版本 6.3)中使用 Sightly/HTL 作为模板语言。由于 Sightly 提供了很多上下文对象,其中两个是:由 org.apache.sling.api.SlingHttpServletRequest 支持的请求和由 javax.servlet.http.HttpSession 支持的 currentSession,我试图在我的视线中访问一些会话参数值通过执行以下操作来文件:
或者
但我无法获得该价值。有人知道怎么做吗?
javascript - 如何将 AEM 多字段组件结果从字符串拆分为数组
我使用多字段功能在 AEM 中创建了一个自定义组件。但是,它会自动将值放在一个长字符串中,中间用逗号分隔。
我已经使用自定义 JS 文件获取了数组中的值,但仍然无法弄清楚如何将它们分开或列出。
我不确定是否可以在我的 JS 文件的循环中或在引用 JS 的 HTL 文件中通过使用 data-sly-repeat 或 data-sly-list 来完成此操作
我希望每个值都是一个单独的链接标签,输入中的值作为 href。
这是js文件:
以及引用它的html:
现在html简单地打印出来
但我希望它显示为
无需用户实际输入<link href=.... />
我试过像这样在JS文件中添加html语法......
甚至只是
但它每次都会出错
javascript - 如何在 JAVA Script USE API 中将对话框属性值传递给 AJAX 请求。
我正在使用服务器端 JavaScript USE API 来读取对话框属性,如下所示
如何传递/获取此对话框属性值并立即调用 AJAX 请求。?(即,我需要将 JS USE API 检索到的对话框值转换为页面级 Java 脚本用法)。
javascript - 确保组件的客户端库文件仅在组件存在时加载到页面上的最佳方法是什么?
我是 AEM 的新手。目前,我们网站上的每个页面都有一个模板。所有组件都具有“project_name.components”类别,我在头文件中调用客户端库:
但是,我有一个不在每个页面上的面包屑组件,但是,正如预期的那样,它的客户端库文件无论如何都会显示出来,并导致现有默认面包屑的样式/脚本出现一些问题。
我已经给新的面包屑组件一个测试类别名称“project_name.breadcrumbs”。有没有办法在同一头文件中的某种类型的 if/else 语句中使用此类别名称,如果面包屑已被拖到页面上,则只会调用面包屑客户端 lib 文件?