2016-02-24 49 views
4

我有一個附加(collective.lazysizes),其中包括一對夫婦JavaScript的資源投入到Plone 4中資源註冊使用以下jsregistry.xml文件:如何進行資源遷移註冊表資源的Plone 5

<?xml version="1.0"?> 
<object name="portal_javascripts"> 
    <javascript id="++resource++collective.lazysizes/ls.respimg.min.js" 
     cacheable="True" compression="none" cookable="True" enabled="True" 
     expression="" inline="False" /> 
    <javascript id="++resource++collective.lazysizes/lazysizes.min.js" 
     cacheable="True" compression="none" cookable="True" enabled="True" 
     expression="" inline="False" /> 
</object> 

如何轉換這變成了一個Plone 5捆綁在registry.xml?我必須將腳本加入一個文件嗎?怎麼樣?我是否必須將resources密鑰添加到捆綁包中?它應該包含什麼?多於一個CSS資源呢?

我發現了documentation複雜,有時相互矛盾,而且不太清楚。

+0

我注意到,[lazysizes。(分鐘)JS(https://github.com/aFarkas/lazysizes/blob/gh-pages/lazysizes.js#L6)是requirejs已經兼容(如果我正確讀了它)。雖然我不確定插件是否可用。 – Danimal

回答

3

這裏是我會做什麼:

  • 把所有的JS在一個文件中(名爲lazysizes-bundle.js例如)。它可以通過複製/粘貼來手動完成(我們也可以使用npm和gulp,在package.json中聲明我們的JS依賴關係並自動生成這個包,但在這種情況下,這只是2個文件,可能是矯枉過正),

  • 聲明此包在registry.xml

<records prefix="plone.bundles/lazysizes" interface='Products.CMFPlone.interfaces.IBundleRegistry'> <value key="enabled">True</value> <value key="jscompilation">++resource++collective.lazysizes/lazysizes-bundle.js</value> <value key="last_compilation">2016-01-01 00:00:00</value> <value key="compile">False</value> <value key="depends">plone</value> </records>

我們設置compile爲false,這樣的Plone不會嘗試生成這個包,所以我們手動生成包被保留。

注:

+1

不應該將它添加到Plone包中,而不是創建一個新的包? – Danimal

+0

好點@Danimal。爲每個插件定義一個新的包將導致Plone擁有很多捆綁包? –

+0

非常高興聽到關於文檔改進 - 很好的工作! – Danimal