aem - AEM HTL/Sightly 在 URL 中连接字符串以在灯箱中播放视频或在新窗口中播放 PDF
问题描述
我是 Sightly 和 AEM 开发的新手,我正在尝试连接以下字符串 href 以在灯箱中播放视频或在新窗口中打开 PDF。当我试图让它发挥作用时,任何建议都将不胜感激。
<sly data-sly-test="${details.videoPlayingOptions != 'vlp-video'}">
<a href="${details.pagePath} || '#' || '${gatherInsight.videoLandingPagePath}?vid=${details.videoID}'" class="cta-lightbox" data-videoid="${details.videoID}" target="${details.contentType == 'PDF' ? '_blank' : '_self'}">${details.title}</a>
</sly>
谢谢
解决方案
在 HTL/Sightly 中不使用 || 进行字符串连接。当您的代码尝试时,这仅用于逻辑 OR。
您应该使用URI 操作选项,因为它使您的代码更具可读性:
href="${details.pagePath @ fragment=gatherInsight.videoLandingPagePath, query=details.videoIDQuery, context='uri'}"
如果将查询映射添加到您的使用对象不是一个选项,您可以尝试使用以下方式连接字符串data-sly-test
:
data-sly-test.videoURL="${details.pagePath}#${gatherInsight.videoLandingPagePath}?vid=${details.videoID}" href="${videoURL @ context='uri'}"
推荐阅读
- ckeditor5 - 创建工具栏组件以将工具栏分为两部分
- c# - 无法加载文件或程序集 Newtonsoft.json 版本 6.0.0.0
- git - 撤消更改两次提交并进入干净状态。
- database-design - 表示关于给定属性的多对一的多对多
- apache-flink - Flink 是否处理每个键一个线程的键控窗口?
- php - 行排名查询在 MySQL 中有效,但在 PHP 中无效
- java - 查询 DSL 和 Maven:类未生成,但仅在命令行上(在 eclipse 中工作正常)
- c# - C#中有指针吗?
- linux - 如何使用`repo forall -c
` 哪里 是 bash 别名或函数 - mysql - MySQL join 基于前 4 个字符