Frage

In den Pyramid -Dokumenten gibt es hier ein schönes Tutorial zu UX -Sachen:

http://docs.pylonproject.org/projects/pyramid_tutorials/en/latest/humans/creatrex/step07/index.html

Eine Sache, die mir jedoch aufgefallen ist, ist im Tutorial, dass sie das „globale Layout“ ausdrücklich im Code einrichten (siehe unten). Ich fand dies ungewöhnlich und unnötig, weil ich immer den Befehl "Load" verwendet habe, wie in den Dokumenten hier gezeigt:

http://chameleon.repoze.org/docs/latest/

Ist dies nur ein persönliches Präferenzproblem oder gibt es echte Vorteile, das „globale Layout“ auf diese Weise einzurichten und zu verwenden?

Tutorial Basis View -Klasse:

class Layouts(object):
    @reify
    def global_template(self):
        renderer = get_renderer("templates/global_layout.pt")
        return renderer.implementation().macros['layout']

Tutorial -Vorlagendatei:

<div metal:use-macro="view.global_template">
    <div metal:fill-slot="content">
        <p>Home page content goes here.</p>
    </div>
</div>

Aber in meinen Vorlagendateien verwende ich nur:

<div metal:use-macro="load: global_layout.pt">
    <div metal:fill-slot="content">
        <p>Home page content goes here.</p>
    </div>
</div>
War es hilfreich?

Lösung

Der indirekte Weg (via View) gibt Ihnen mehr Flexibilität. Die Vorteile sind in einem kleinen Projekt nicht so offensichtlich, aber dieser Ansatz zahlt sich sicherlich in einem größeren aus. Die "Last:" hartert Ihre Main_Template (in Zope/Plone-Speak), um hier zu sein. Mit der Aussicht kann es von überall kommen und unabhängig von Ihren Vorlagen verändert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top