0

我是 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>

谢谢

4

1 回答 1

2

在 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'}"
于 2018-07-16T15:42:30.147 回答