Как перенести ресурсы реестра ресурсов на Plone 5
У меня есть надстройка ( colour.lazysizes), которая включает несколько ресурсов JavaScript в реестр ресурсов Plone 4, используя следующие jsregistry.xml
файл:
<?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-ресурса?
Я нашел документацию сложной, иногда противоречивой и не совсем ясной по этому вопросу.
1 ответ
Вот что я бы сделал:
поместите все ваши JS в один файл (например, с именем lazysizes-bundle.js). Это можно сделать вручную, скопировав / вставив их (мы могли бы также использовать npm и gulp, объявить наши JS-зависимости в package.json и автоматически сгенерировать этот пакет, но в данном случае это всего лишь 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 не пытался сгенерировать этот пакет, поэтому наш сгенерированный вручную пакет сохраняется.
Заметки:
Вы правы, документ пока не ясен, но эта ветка скоро будет объединена https://github.com/plone/documentation/commits/resource_registry_doc_improvements и тогда будет намного лучше.
как видите, каждая надстройка принесет свой собственный пакет, НО их можно объединить в метабунды (см. github.com/plone/Products.CMFPlone/issues/1277, который будет частью 5.0.3)