【问题标题】:Passing selector in data-sly-resource in sightly在数据-sly-resource 中直接传递选择器
【发布时间】:2016-02-03 21:51:13
【问题描述】:

我无法在 data-sly-resource 中传递选择器参数(当参数来自某个外部对象(如 java 或某个列表对象)时)。即使我使用“use”语句初始化变量然后传入 data-sly-resource 语句,它也不起作用。但是,当我传递硬编码值时,这工作正常。

例如,下面的代码有效,因为它具有硬编码值“测试值”

        <sly data-sly-test="${item.tileReference}" 
             data-sly-resource.="${item.tileReference @ wcmmode='disabled', selectors='test value',
                 resourceType='abc/tiles/generic-tile'}">
        </sly>

但是,下面的代码没有传递参数值,因为它来自某个对象。在这里,“tile.tileCount”保存了我通过在 html 中打印验证的值。

        <sly data-sly-test="${item.tileReference}" 
             data-sly-resource.="${item.tileReference @ wcmmode='disabled', selectors=tile.tileCount,
                 resourceType='abc/tiles/generic-tile'}">
        </sly>

【问题讨论】:

  • 如果没有更多信息来帮助调试,我只能说 Sightly 确实允许您像上面所做的那样将动态值传递给选择器表达式选项。我假设您在相关资源块之前的“使用”块上附加了一个“平铺”标识符。

标签: aem sightly


【解决方案1】:

事实证明 Sightly 只接受 String 作为选择器,传递 int 值会忽略选择器。

看起来tileCount 是一个整数,请尝试使用String 值来解决问题(tileCount 的getter 方法可以返回String 而不是int)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多