fellow.xdv - определить альтернативное преобразование разрывов темы для темы по умолчанию - PullRequest
1 голос
/ 04 мая 2011

Я использую plone 4.0.1 + fellow.xdv 1.0rc11, и мне нужно использовать разные темы.

Я пытаюсь сделать, как описано в недавнем вопросе / ответе , но когда я вставляю новую тему с условием, я вообще не получаю преобразования для темы по умолчанию. Вот несколько примеров того, что я пробовал:

<rules css:if-content="body.section-mysection">
    <theme  href="mysection.html" />
</rules>

это заканчивается:

Traceback (innermost last):
  Module ZPublisher.Publish, line 132, in publish
  Module zope.event, line 23, in notify
  Module zope.component.event, line 26, in dispatch
  Module zope.component._api, line 138, in subscribers
  Module zope.component.registry, line 323, in subscribers
  Module zope.interface.adapter, line 575, in subscribers
  Module plone.transformchain.zpublisher, line 93, in applyTransformOnSuccess
TypeError

Пока эти:

<theme  href="mysection.html" if-path="/mysection/"/>

<theme  href="mysection.html" css:if-content="body.section-mysection"/>

оба работают для данного раздела, НО для остальной части портала никакого преобразования нет вообще.

Я также попытался указать тему по умолчанию в rules.xml (даже если она уже зарегистрирована в @@ xdv-settings) с помощью <theme href="index.html" />, но безуспешно.

Что мне здесь не хватает?

Спасибо заранее, Симо

Ответы [ 2 ]

2 голосов
/ 05 мая 2011

Во-первых, я хотел бы рассмотреть переход на plone.app.theming. Обновление / изменение довольно тривиально, насколько я понимаю (http://pypi.python.org/pypi/plone.app.theming#migrating-from-collective-xdv) и p.a.theming предоставляет все самые последние и лучшие функции, которые были разработаны в коллективе .xdv.

Во-вторых, я бы сослался на этот документ:

Похоже, вам просто нужно настроить тему по умолчанию сначала , а затем добавить условие (я) для изменения соответствующего раздела, когда условие соответствует. Дополнительная совпавшая тема не должна влиять на тему «по умолчанию» (первая совпавшая).

1 голос
/ 04 мая 2011

Я не уверен, что понимаю ваши настройки и вашу конкретную проблему в полной мере, поэтому я просто опубликовал рабочий пример. Примечание: мы не используем значение default theme на панели управления xdv, так как оно все равно устареет с plone.app.theming. Это также может помешать настройке шаблонов тем в файле rules.xml напрямую, что может иметь отношение к вашей конкретной проблеме / сценарию использования.

<rules
xmlns="http://namespaces.plone.org/xdv"
xmlns:css="http://namespaces.plone.org/xdv+css"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<theme css:if-content="body.section-front-page" href="frontpage.html"/>
<theme css:if-content="body.section-contact" href="contact.html"/>

<!-- Only style actual Plone page and exclude things like /manage -->
<rules css:if-content="#visual-portal-wrapper">

    <!-- default theme templates -->
    <theme href="theme.html" />
    <!-- Add your default transform rules here -->
    <rules css:if-content="body.section-contact">
        <!-- Theme template is already setup on top of this file -->
        <!-- Add section specific rules here -->
        <drop css:theme="#sidebar" />
    </rules>
</rules>
</rules>

Эти правила максимально приближены к настройке, требуемой diazo / plone.app.theming, и должны просто нуждаться в незначительных корректировках (например, исправление пространства имен и поиск / замена для append / after) - я просто перенес сайт, этот пример был поднят с Plone4.1 / diazo без каких-либо серьезных недостатков.

...