================= plone.app.theming ================= Einführung ========== `plone.app.theming`_ integriert den :doc:`../diazo/index`-XSLT-Proxy in Plone. Einige Vorteile von ``plone.app.theming`` sind: .. _`plone.app.theming`: http://pypi.python.org/pypi/plone.app.theming/ - Web-Designer müssen kein Vorwissen in bezug auf Plone und Python mitbringen; - Standardbibliotheken und -werkzeuge können verwendet werden; - Auch eine bereits existierende Webgestaltung, z.B. von `Open Source Web Design`_, kann einfach verwendet werden. .. _`Open Source Web Design`: http://www.oswd.org/ .. figure:: diazo-setup.png :alt: Diazo-Setup Im Vergleich zu :doc:`../deliverance/index` weist ``plone.app.theming`` folgende Unterschiede auf: - Es wird nur das XSLT-Subset von Deliverance verwendet. - Die Antwortzeiten von Diazo sind schneller, da nicht erst zur Laufzeit eine XSLT-Datei kompiliert wird. - Es gibt nur XPath- und CSS3-Selektoren: +----------------------------------------+--------------------------------+ | Diazo | Deliverance | +========================================+================================+ | ``replace`` | ``replace`` | +----------------------------------------+--------------------------------+ | ``copy`` | ``replace`` + Kindselektortyp | +----------------------------------------+--------------------------------+ | ``before`` | ``prepend`` | +----------------------------------------+--------------------------------+ | ``after`` | ``append`` | +----------------------------------------+--------------------------------+ | ``prepend`` | ``prepend`` + Kindselektortyp | +----------------------------------------+--------------------------------+ | ``prepend`` + XPATH + ``@id`` | ``prepend`` + Kindselektortyp | | | | | oder | | | | | | ``prepend`` + XPATH + ``@class`` | | +----------------------------------------+--------------------------------+ | ``append`` | ``append`` + Kindselektortyp | +----------------------------------------+--------------------------------+ | ``drop`` | ``drop`` | +----------------------------------------+--------------------------------+ Bedingte Regeln =============== - Es lassen sich Bedingungen für die Aktionen angeben, z.B.:: - Darüber hinaus kann eine Bedingung auch auf mehrere Aktionen angewendet werden, z.B.:: Und auch verschachtelte Bedingungen sind mögich, z.B.:: oder:: - Auch mehrere ``Themes`` lassen sich durch Bedingungen unterscheiden, z.B.:: oder:: - Es können auch Pfadbedingungen angegeben werden, z.B.:: Endet die Pfadbedingung mit ``/``, so wird die Regel nur angewendet, wenn die URL an dieser Stelle endet, also z.B.:: wird auf ``/Plone/news`` oder ``/Plone/news/`` angewendet, nicht jedoch auf ``/Plone/news/news1.html``. - Auch externe Inhalte können eingebunden werden, z.B. in einem Mashup:: Reihenfolge =========== Die Regeln werden nicht nacheinander abgearbeitet sondern in folgender festgelegter Reihenfolge: #. ```` #. ```` #. ```` #. ```` #. ```` Dies führt meines Erachtens zu einer unnötigen Komplexität bei der Analyse, welche Regeln in welcher Reihenfolge abgearbeitet werden. - Zudem bringt Diazo keine Debug-Konsole mit, wodurch diese Analyse deutlich erschwert wird. .. toctree:: :titlesonly: :maxdepth: 1 :hidden: installation theme-transformation transformationsregeln diazotheme-produkt migration-von-collective.xdv