Как перенести ресурсы реестра ресурсов на 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)

Другие вопросы по тегам