Wie kann ich ein Modul mehreren Positionen zuordnen?

8

Es gibt bereits einige Fragen dazu, aber es geht hauptsächlich darum, tatsächlich mehrere Kopien desselben Moduls auf einer Seite zu haben.

Mein Problem ist das Layout und die Vorlage. Vorlagen haben häufig unterschiedliche Namen für die Positionen. Ich möchte eine standardisierte semantische Benennung in Vorlagen, bitte ;-)

Während ich mit einer neuen Vorlage für meine Website experimentiere, möchte ich in der Lage sein, zwischen meinen alten und neuen Vorlagen hin und her zu wechseln und sie zu vergleichen. Und ich möchte nicht jedes Mal alle Module durchgehen und ihnen neue Positionen geben.

Eine Lösung wäre, zu ermöglichen, dass ein Modul an mehreren Positionen platziert wird, insbesondere an verschiedenen Modulpositionen in verschiedenen Vorlagen. ZB "top" in Vorlage A und "over content" in Vorlage B, da dadurch meine Website unabhängig von der von mir ausgewählten Vorlage ähnlich aussieht.

Ist das möglich? War das nicht ein Feature von Joomla 1.5 oder träume ich nur? (Stellt sich heraus , ich war zu träumen ...)

Im Wesentlichen suche ich nach einer Möglichkeit, mit einem Site-Upgrade, einschließlich seiner Vorlage, nahtlos zu arbeiten. Mein gewünschter Workflow wäre so etwas wie

  • Erstellen Sie eine doppelte Site
  • Neue Vorlage installieren
  • neue Modulpositionen herausfinden
  • Fügen Sie neue Modulpositionen auf der ursprünglichen Site hinzu
  • Installieren und aktivieren Sie die neue Vorlage auf der ursprünglichen Site

Der vierte Schritt ist der, für den ich eine Lösung suche.

thoni56
quelle
Haben Sie die gesuchte Antwort gefunden?
Lance
Nicht wirklich, ich werde die Antwort von @ FFrewin akzeptieren, da sie erklärt, dass es keine Tools gibt, um das zu tun, was ich brauche.
Thoni56

Antworten:

2

Viel Spaß beim Träumen ... Nicht möglich - damals (J1.5) und heute.

Der Teil des Experimentierens ist jedoch noch möglich.
Eigentlich müssen Sie nur die ursprüngliche Site unverändert lassen und auf einer Entwickler-Site alles tun, was Sie möchten.
Auf diese Weise können Sie mit zwei Websites: der ursprünglichen und der neuen, die Sie entwickeln, eine unbegrenzte Anzahl von Vergleichen zwischen ihnen durchführen.

Ich würde niemals versuchen, das zu tun, was Sie tun möchten - das heißt, eine Vorlage auf einer Live-Site zu ändern / zu experimentieren / zu entwickeln - und im Allgemeinen ist dies keine empfohlene Vorgehensweise und ich verstehe wirklich nicht, wie es den Leuten geht und so denken.

Ich bekomme eine Kopie der fraglichen Site, restauriere sie irgendwo, wo ich friedlich arbeiten kann und keine Angst vor irgendetwas habe, das schief gehen könnte, und da bin ich - mit der ganzen Freiheit zu experimentieren und Fehler zu machen. Es gibt sogar Fälle, in denen ich möglicherweise mehrere Instanzen der Dev-Site habe.

Obwohl die Idee, dasselbe Modul an mehr als einer Position veröffentlichen zu können, als Feature nicht schlecht klingt, sollte es eigentlich kein Hindernis für das sein, was Sie tun möchten.

Update: Module duplizieren

Ich wollte dies in meine erste Antwort aufnehmen, aber irgendwie habe ich es umgangen ... Etwas, das Sie näher an Ihre Fragen bringen könnte, ist, die Module zu duplizieren und sie den neuen Modulpositionen zuzuweisen. Der Batch-Button hilft hier. Es ist vielleicht nicht der effizienteste Weg, aber es ist auch nicht so weit und schwer zu tun. Wenn Sie mit der alten Vorlage und den Modulen fertig sind, können Sie sie alle zusammen löschen.

FFrewin
quelle
Das mache ich auch, aber ich möchte meine Module trotzdem auf eine einfache Umstellung vorbereiten. Aber wie Sie sagen, hindert es mich nicht daran, mit neuen Vorlagen zu experimentieren.
Thoni56
Wenn es möglich wäre, könnte ich mit der neuen Vorlage (an einer anderen Site) experimentieren, und wenn ich meine gewünschten Positionen hätte, könnte ich alle Module auf der Live-Site vorbereiten, indem ich sie auch den neuen Vorlagenpositionen zuordne. Lebe immer noch mit der alten Vorlage. Dann: Vorlage installieren, Vorlage wechseln, fertig! Kein Wiederherstellen, kein Überschreiben, kein nächtliches "Site Down", nur eine hübsche Trennung von Layout und Inhalt, wie es funktionieren soll ;-)
thoni56
@ ThomasNilsson, gut fair genug. Beachten Sie jedoch, dass Sie immer noch etwas Ähnliches tun können, wenn Sie die Module duplizieren und sie den neuen Modulpositionen zuweisen. Andererseits halte ich eine Änderung des Layouts (der Vorlage) normalerweise für eine wichtige Änderung auf einer Site. Arbeiten Sie unabhängig an meinem Entwickler - bereiten Sie alles bis ins letzte Detail vor -, wenn Sie bereit sind, alle kürzlich durchgeführten Datenbankmigrationen durchzuführen, falls vorhanden, und stellen Sie es dann wieder her. Mein nächtlicher Site-Down beträgt ungefähr 5-10 Sekunden.
FFrewin
@ ThomasNilsson, habe gerade den Vorschlag der Modulvervielfältigung zu meiner Antwort hinzugefügt.
FFrewin
Akzeptiert, da es funktioniert und es ein bisschen einfacher macht, das zu tun, was ich wollte, als ständig die
Modulzuweisungen zu ändern ;-)
3

Ich komme hierher zurück, um einen alternativen Vorschlag zu veröffentlichen, nachdem ich auf eine Erweiterung gestoßen bin, die bei Änderungen, Aktualisierungen, Modifikationen, einschließlich Vorlagenänderungen, helfen kann.

Die Erweiterung heißt StageIt und fügt Joomla Staging-Funktionen hinzu. Mit dieser Erweiterung können Sie also eine Entwicklungsumgebung direkt auf Ihrer Joomla-Site erstellen / synchronisieren und Änderungen anwenden, ohne dass diese Änderungen "live" sind, bis Sie vollständig bereit sind.

Wenn Sie fertig sind, können Sie wieder synchronisieren und den Switch veranlassen, die Änderungen live zu veröffentlichen. StageIt kümmert sich auch um Backups im Moment der Synchronisierung. Wenn also etwas nicht wie erwartet verläuft, können Sie zurückwechseln.

FFrewin
quelle
Upvote für den Vorschlag einer Lösung für das zugrunde liegende Bedürfnis und nicht unbedingt für die Frage. Danke, es sieht interessant aus und diese Funktionalität wäre eine äußerst nützliche Funktion.
Thoni56
3

Eine Möglichkeit, dies zu tun, besteht darin, Ihr Master-Modul zu erstellen und es an einer benutzerdefinierten Modulposition zu platzieren, z. B. " Master-Position ".

Erstellen Sie dann ein neues benutzerdefiniertes HTML- Modul für jeden Speicherort, an dem das benutzerdefinierte Modul platziert werden soll, indem Sie die tatsächliche Vorlagenposition verwenden, in die Sie das Modul laden möchten.

Verwenden Sie dann {loadposition master-position}als einzigen Inhalt im benutzerdefinierten HTML-Modul.

Sie können {loadmodule custom-module-name}Ihr Modul auch mit der Schaltfläche Modul in den benutzerdefinierten HTML-Modulen oder Artikeln verwenden oder laden .


Hinweis: Überprüfen Sie, ob Sie dieses Plugin unter Erweiterungen> Plugins> Inhalt - Lademodule aktiviert haben

Lanze
quelle
Einige Diskussionen zu diesem Ansatz finden Sie hier: stackoverflow.com/questions/12031648/…
Lance
Ich habe dieses Modul bereits in einem Modulansatz verwendet und es funktioniert gut.
Neil Robertson
0

Vor einiger Zeit musste ich etwas Ähnliches tun, und der beste Weg, dies zu lösen
, bestand darin, den Indexcode jeder Position zu verdoppeln:

<jdoc:include type="modules" name="your-position" style="html5" />
  • Wenn Sie dieser Position ein Modul zuweisen und diese Position sich in mehreren Abschnitten
    der Vorlage befindet, wird dies für alle berechnet.
  • Und wenn Sie mehrere Vorlagen auf derselben Site haben und die Positionen und Stile
    in beiden definiert sind, wird Ihr Modul insgesamt gleichermaßen geladen.

Dies erhöht die Ladezeit der Site, aber das hängt natürlich davon ab, wie viele
Duplikate Sie haben.

* Berücksichtigt die Antwort von @Lance und ist eine weitere Möglichkeit,
mithilfe von {loadposition} mehrere Modulpositionen zu erreichen . *

AlejandroVega
quelle