2016-02-28 33 views
0

我使用AEM6.0和悅目的腳本之一,我有兩個變量在AEM中的字符串操作?

$ {} currentPage.path - ? /內容/ geometrixx/EN /工具

$ {pageHref} - > /content/geometrixx/en/tools.html

現在我需要比較這兩種但是$ {} currentPage.path不沒有.html,它會失敗。有沒有什麼辦法可以附加.html來比較它。

回答

2

不,沒有直接的辦法。從Sightly docs以下摘錄告訴你爲什麼

關注的分離:在悅目模板語言的表現力是有目的地限制,以確保真正的編程語言來表達相應的表示邏輯。這個可選邏輯是使用Use-API模式從Sightly表達式調用的,可以輕鬆理解爲給定視圖調用的內容,並可能針對同一資源的不同視圖具有不同的邏輯。

我會建議使用Java/JavaScript使用API​​來實現相同。

但是,如果你不可避免地需要在Sightly本身做到這一點,那麼你可以使用下面的骯髒的黑客,但我不會推薦它。

<sly data-sly-test.pagePath = "${currentPage.path}.html"></sly> 
<sly data-sly-test = "${pageHref == pagePath}"> 
    <!--/** Your HTML here */--> 
</sly> 

一個類似的問題是answered here