Was ist eine Variante im Seitenmanager?

7

Ich versuche, diesem Tutorial zu folgen , aber es erklärt das Konzept der Variante nicht sehr klar. Es gibt keine Definition dafür.

Kann jemand dieses Konzept im Klartext klären? In welchen praktischen Fällen würden Sie Varianten verwenden?

Jérôme Verstrynge
quelle
2
Varianten sind kein zentrales Drupal-Konzept, sondern anscheinend ein Panels / Page Manager-Konzept. Mit Paneelen versehen .

Antworten:

4

Varianten haben mit Panels zu tun und sind eine Möglichkeit, eine Ausgabe geringfügig zu variieren . Varianten können den größten Teil ihres Verhaltens erben und überschreiben, was sie benötigen. Wenn Sie Erfahrung mit Ansichten haben, ähnelt dies am ehesten einer anderen Anzeige. Die Variante kann die Anordnung des Panels ändern oder andere Elemente hinzufügen. Die Entscheidung, die eine oder andere Variante zu verwenden, kann auf Auswahlregeln oder -kontexten basieren, wobei die Auswahlregeln globaler sind und der Kontext mehr davon abhängt, was betrachtet wird, dh der Knoten, der angezeigt wird usw.

Malks
quelle
Wenn wir also über OO gesprochen haben und B A erbt, ist B eine Variante von A in Drupal?
Jérôme Verstrynge
3
Hmm, ich weiß nicht, dass Varianten so streng sind, eher wie A und B beide von einem anderen Objekt erben, das die Seite selbst ist.
Malks
5

Ich war noch nie gezwungen, es zu definieren, aber hier ist ein Versuch.

"Eine Variante ist eine spezifische Antwort auf eine Anfrage auf einer Seite" im Seitenmanager. Bei Panels wird meistens ein Knoten oder eine andere ganze Seite gerendert, jedoch nicht immer.

Obwohl es im Gegensatz zu Anzeigen einige Ähnlichkeiten mit "Ansichtsanzeigen" gibt, haben Varianten keine Vererbung untereinander. Alle Varianten einer bestimmten Seite haben dieselben grundlegenden Zugriffsregeln, sofern vorhanden, und beginnen mit den Kontextobjekten, die der Seitenmanager von der URL ableitet, die sich jedoch in keiner Weise kennen. Basierend auf Auswahlregeln werden sie von oben nach unten ausgewertet. Die erste Auswahlregel, die TRUE zurückgibt, wird ausgewählt.

Ein häufiges Beispiel besteht darin, zwei verschiedene Inhalts- / Knotentypen voneinander zu trennen, sodass Sie sie völlig unterschiedlich rendern können. Da jede Variante ihr eigenes Layout auswählen und Felder / Formulare / usw. auf beliebige Weise platzieren kann, sehen die Typen "Artikel" und "Blog" möglicherweise ganz anders aus. In diesem Fall würden die Varianten node-article.tpl.php und node-blog.tpl.php entsprechen.

Es gibt verschiedene andere "Responder" für Varianten, bei denen keine Panels verwendet werden , z. B. die kontextbezogene Verwaltung und einfache HTTP-Antwortcodes. Ich glaube jedoch, dass diese Antwort so lang ist, wie sie ist.

Letharion
quelle
1

Letharions Antwort und Malks Antwort sind beide sehr gut, aber lassen Sie mich etwas hinzufügen, das ich für hilfreich halte. (Und bitte hinterlassen Sie einen Kommentar, wenn Sie glauben, dass ich etwas falsch verstanden habe, und ich werde es korrigieren.)

Sie können sich Panels als Ersatz für Blöcke vorstellen, ähnlich wie sie als "Smart Blocks" (oder kontextsensitive Blöcke oder ähnliches) bezeichnet werden könnten. Panels können in verschiedenen Kontexten unterschiedlich angezeigt werden, da Sie manchmal möchten, dass sich der Inhalt Ihres Blocks auf einer Seite etwas anders verhält (erscheint) als auf der anderen. Dies mit Blöcken zu tun, kann etwas umständlich sein, daher versuchen Panels, die Dinge zu verbessern.

Eine Variante ist nur eine andere Version oder Variation der Anzeige von Dingen. Sie können Kontext- und Auswahlregeln festlegen, um zu bestimmen, welche Variante verwendet werden soll.

Kurz gesagt, eine Variante ist nur eine Version Ihres Block- Panels, und jedes Panel benötigt mindestens eine Version.

Bilderstürmer
quelle