【问题标题】:How to manage anchors (links with hashtags) for internal pages while using the LinkTransformator?如何在使用 LinkTransformator 时管理内部页面的锚点(带有主题标签的链接)?
【发布时间】:2019-12-03 13:00:58
【问题描述】:

我正在使用 AEM 6.4 处理一个项目。在配置到内部页面的链接时,来自 aem 的标准链接转换器会将 href 属性从内部页面链接更改为“真实”链接,包括 .html。

如果我们在链接末尾放置一个锚点,这将不起作用。

这就是没有锚的链接会发生的情况:

<li class="_linkbox__listitem _linkbox__listitem--link">
    <a class="_linkbox__link" href="/en/components/searchresults.html" target="_self">
        <span class="_linkbox__title">link without anchor</span>
        <svg class="_linkbox__icon">
            <use xlink:href="#_svg-icon-arrow-right"></use>
        </svg>
    </a>
</li>

这是相同的链接,但附加了一个锚:

<li class="_linkbox__listitem _linkbox__listitem--link">
    <a class="_linkbox__link" href="/content/test/gf/unitedkingdom/en/components/searchresults#ananchor" target="_self">
        <span class="_linkbox__title">link with anchor</span>
        <svg class="_linkbox__icon">
            <use xlink:href="#_svg-icon-arrow-right"></use>
        </svg>
   </a>
</li>

链接没有被转换,所以它在发布的页面上没有用。

我不敢相信只能在同一页面上进行引用或禁用转换器,因为我猜是可能的 #-anchors?

是否有人对他们的项目有相同的条件或可以提供解决此问题的方法?

【问题讨论】:

  • 这个问题还没有解决吗?如果是,链接是如何进入 html 的?使用 HTL 并通过 properties.XXX 添加数据?
  • 您正在为此编写自己的自定义转换器吗?如果是这样,你的逻辑是什么样的?
  • @OliverGebert 是的,是的,我们就是这样做的。
  • @AhmedMusallam 我们还没有写任何东西来解决这个问题。我们有自己的变压器,但有其他问题。

标签: hyperlink anchor aem


【解决方案1】:

我担心你需要创建一个 SlingModel 或任何其他后端逻辑,

  • 在您的网址中检查#xxx
  • 用资源解析器映射#之前的部分
  • 根据需要添加扩展
  • 在末尾添加锚点。

这可以在您的前端代码中使用。

HTH

【讨论】:

  • 现在我也害怕。
猜你喜欢
  • 2018-10-25
  • 2021-04-04
  • 1970-01-01
  • 1970-01-01
  • 2016-07-06
  • 1970-01-01
  • 1970-01-01
  • 2021-07-20
  • 1970-01-01
相关资源
最近更新 更多