簡體   English   中英

AEM自適應圖像適用於創作者,但不適用於發布者

[英]AEM adaptive image working on Author but not on Publish

我已按照這些說明進行操作,以使自定義自適應圖像組件可在我的AEM作者安裝中使用。 問題是,它不會像在作者上一樣在發布時獲取較低分辨率的圖像。 這可能與servlet引用位於apps目錄中,因此在發布服務器上不可訪問的事實有關嗎?

將您的配置文件命名為com.day.cq.wcm.foundation.impl.AdaptiveImageComponentServlet.xml並將其放置在應用程序的config文件夾中。 這里的技巧是擁有sling.servlet.resourceTypes屬性。 此屬性應包括您的自定義自適應圖像組件的路徑(以下示例中以黃色突出顯示–用於路徑/ apps / APPNAME / components / content / adaptiveimage中的自定義組件)。

<?xml version="1.0" encoding="UTF-8"?>

<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"

    jcr:primaryType="sling:OsgiConfig"

    adapt.supported.widths="[320,480,476,620]"

    sling.servlet.resourceTypes="[foundation/components/adaptiveimage,APPNAME/components/content/adaptiveimage]"/>

我為此使用了CRX / DE lite,因此它的工作方式略有不同。 它涉及在apps / myproject / config下創建一個名為“ com.day.cq.wcm.foundation.impl.AdaptiveImageComponentServlet.xml”的“ sling:OsgiConfig”節點。

我單擊了“多重”按鈕,添加了一個名為“ adapt.supported.widths”的字符串,並添加了值320、480、476和620。

我添加了另一個名為“ sling.servlet.resourceTypes”的Multi String,並添加了值“ foundation / components / adaptiveimage”和“ myproject / components / content / adaptiveimage”

之后,當我調整瀏覽器窗口的大小時,可以看到自定義組件的圖像分辨率發生了變化。

如上所述,我注意到在Publish中使用該方法在Author中成功實現的自適應圖像不起作用。 該圖像將在發布時調整大小,但僅請求“高”圖像分辨率。 我檢查了一下,實際上是在實際分辨率較低時,是否只是將其稱為“高”。 當我仔細查看圖像時,將其調整為與作者相同的大小並進行發布時,您會看到在顯示高分辨率圖像的作者與在高分辨率圖像上顯示的發布之間存在差異。

這是否與以下事實有關:我們在apps / myproject / config下創建了一個名為“ com.day.cq.wcm.foundation.impl.AdaptiveImageComponentServlet.xml”的類型為“ sling:OsgiConfig”的節點?

也許發布無法訪問此節點,因為它位於apps目錄中? 我在這里錯過了其他東西嗎?

這不是訪問問題,因為OSGI配置在內部綁定到服務並且獨立於登錄用戶。 您可以驗證配置是否正確綁定到發布實例上嗎?

  • 在您的發布實例上轉到/system/console/configMgr
  • 搜索Adaptive Image Component Servlet ,然后單擊它。
  • 檢查屬性Configuration Binding是否為空,說明未綁定或新配置
  • 如果是這樣,請單擊保存,您的配置將生效。 再次將此測試發布到您的發布實例上

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM