mpDynamicContent: Modul für dynamische Inhalte

Alles rund um Module und Plugins in CONTENIDO 4.10.
Antworten
xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

mpDynamicContent: Modul für dynamische Inhalte

Beitrag von xmurrix » Di 12. Nov 2019, 23:01

BESCHREIBUNG

Das Modul mpDynamicContent erlaubt das Einbinden von beliebigen Content-Typen (z. B. CMS_HTMLHEAD, CMS_HTML, CMS_IMGEDITOR, usw.) in einen Container.

Damit lassen sich dynamisch mehrere Inhalte basierend auf Content-Typen in einem Layout ausgeben. Die Konfiguration kann direkt über die Editor-Ansicht des Artikels vorgenommen werden.

Standardmäßig werden alle vorhandenen Content-Typen unterstützt, Ausnahmen gibt es für CMS_IMG, CMS_IMGDESCR, CMS_LINK, CMS_LINKTARGET, CMS_LINKDESCR. Dafür gibt es die neuen Content-Typen CMS_IMGEDITOR und CMS_LINKEDITOR, die die bekannte Funktionalität übernehmen.

Es ist auch möglich, zu jedem Content-Typ ein Template auszuwählen.


INSTALLATION

Die im Modulpackage enthaltenen Dateien/Sourcen sind wie im Folgenden beschrieben zu installieren.
Die Pfade zu den Sourcen (CSS, JS und Templates) können von Projekt zu Projekt unterschiedlich sein und sind bei Bedarf anzupassen.
Bei der Installationsbeschreibung wird davon ausgegangen, dass CONTENIDO in das DocumentRoot-Verzeichnis eines Webservers installiert wurde und das Mandantenverzeichnis "cms/" ist.

1.) Modulinstallation
Den Modulordner "mp_dynamic_content" samt aller Inhalte in das Modulverzeichnis des Mandanten "cms/data/modules" kopieren.
Danach sollte man im Backend die Funktion "Module synchronisieren" unter "Style -> Module" ausführen.

2.) Einrichten des Moduls
Dieses Modul in einer Artikelvorlage einrichten.

Einen Artikel erstellen, welches auf die Vorlage basiert.

In der Editoransicht des Artikels die gewünschten Optionen setzen.

a.) Mandanten- oder Systemeinstellungen:

Mit folgender Mandanten- oder Systemeinstellung kann man die unterstützten Content-Typen konfigurieren. Mehrere Werte sind mit Komma zu trennen:

Code: Alles auswählen

Typ:  mp_dynamic_content
Name: supported_content_types
Wert: CMS_HEAD,CMS_HTML,CMS_HTMLHEAD,CMS_IMGEDITOR,CMS_LINKEDITOR
Ist die Einstellung nicht gesetzt, so wird dafür per default folgender Wert verwendet:

Code: Alles auswählen

CMS_HEAD,CMS_HTML,CMS_HTMLHEAD,CMS_IMGEDITOR,CMS_LINKEDITOR
b.) Basiseinstellungen (im Popup Dialog):
  • Container-Nummer: Die Container-Nummer die zum Erstellen der Inhalte verwendet werden soll. Die eingegebene Nummer sollte nicht im Layout vergeben sein und es sollte ausreichend Puffer zur nächsten im Layout verwendeten Container-Nummer sein, da das Modul die angegebene Container-Nummer für jeden konfigurierten Content-Typen hochzählt, z. B. Container-Nummer = 500, 5 Content-Typen, benötigter Container-Nummer Bereich = 500 - 505.
c.) Content-Typ Einstellungen (im Popup Dialog):

Jeder Content-Typ Eintrag enthält 4 konfigurierbare Felder.
  • Beschreibung: Angabe der Beschreibung zum Content-Typ, wenn angegeben wird es im Backend in der Editor-Ansicht als label-Element dargestellt
  • Content-Typ: Auswahl des zu verwendenden Content-Typen
  • Template: Auswahl des Templates, in dem der Inhalt des Content-Typ gerendert werden soll. Mitgeliefert werden 5 verschiedene Templates. Damit ein Content-Typ Template erkannt und korrekt im Auswahlfeld erscheint, muss es folgende Kriterien erfüllen.
    • Das Template muss im Modulverzeichnis im Ordner template liegen
    • Der Dateiname des Templates muss mit dem Präfix "type." beginnen
    • Die Erste Zeile des Templates sollte eine das Template beschreibende kurze Kommentarzeile sein
  • Zusätzlicher Text: Dieses benutzerdefiniertes Feld kann für den eigenen Bedarf verwendet werden, z. B. für Ausgabe als reiner Text oder auch als Wert für ein class-Attribut. Im Template hat man Zugriff auf den Wert mit "$content.userdefined".
  • Aktionen:
    • Online Status: Content-Typ lassen sich online/offline stellen, dabei werde die Elemente mit dem Status offline bei der Ausgabe ausgelassen. Diese Inhalte können aber immer noch über die Suche im Frontend gefunden werden.

CHANGELOG

2019-11-12 mpDynamicContent 0.1.3 (für CONTENIDO 4.9.x - 4.10.x)
  • bugfix: Mehrfachen Aufruf des Con.Loader callbacks unterbinden
  • change: Verwendung von unterstützten default Content-Typen, wenn Einstellung nicht gesetzt
2013-12-05 mpDynamicContent 0.1.2 (für CONTENIDO 4.9.x. Nachtrag: Die Version 0.1.2 funktioniert auch unter CONTENIDO 4.10.x)
  • bugfix: Besseres Handling für das Laden von jQuery UI im Backend
  • bugfix: Anzeige des ausgewählten Bildes im Backend in der Editor-Ansicht
  • change: Laden und Ausgabe der benötigten Styles nur einmal pro Seite
  • new: Sortierung für Templates
2013-12-02 mpDynamicContent 0.1 (für CONTENIDO 4.9.x)
  • Erste Veröffentlichung des mpDynamicContent Moduls
DOWNLOAD

Das Modul könnt ihr vom GitHub Repository herunterladen:
https://github.com/purcaholic/mpDynamicContent
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

lunsen_de
Beiträge: 295
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: mpDynamicContent: Modul für dynamische Inhalte

Beitrag von lunsen_de » Mo 22. Jan 2024, 15:35

Hallo, danke für das Modul, welches bei meinem jetzigen Projekt sehr gut passt.

Ich habe noch 2 Fragen bzw. Probleme:

1. Wenn ich z.B. 4 CMS_HTML Elemente (oder andere) hinzugefügt habe und dann aber nur noch 3 brauche, wie bekomme ich Eines wieder gelöscht bzw. entfernt? Es gibt keinen Minus- oder Löschen-Button.

2. Wenn ich in einem Artikel, der auf Vorlagen (Template) xyz bassiert, die Containernummer 500 gewählt habe und dann einen zweiten Artikel mit der selben Vorlage (template) erstelle und befüllen will, komme ich an das Feld "Container-Nummer" nicht mehr ran (grau hinterlegt) und das Feld ist mit 500 vorbelegt. Erst wenn ich eine andere Vorlage habe, die das Modul verwendet kann ich eine neue Zahl vergeben. Ist das so gedacht?

Grüße Lars

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: mpDynamicContent: Modul für dynamische Inhalte

Beitrag von xmurrix » Sa 27. Jan 2024, 11:26

Hallo Lars,
Wenn ich z.B. 4 CMS_HTML Elemente (oder andere) hinzugefügt habe und dann aber nur noch 3 brauche, wie bekomme ich Eines wieder gelöscht bzw. entfernt?
Diese Funktionalität ist seit ca. 2 Jahren in der Entwicklung, inkl. Löschen und Sortieren der Elemente. Leider bin ich nicht dazugekommen, es zu finalisieren.
Wenn ich in einem Artikel, der auf Vorlagen (Template) xyz bassiert, die Containernummer 500 gewählt habe und dann einen zweiten Artikel mit der selben Vorlage (template) erstelle und befüllen will, komme ich an das Feld "Container-Nummer" nicht mehr ran (grau hinterlegt) und das Feld ist mit 500 vorbelegt. Erst wenn ich eine andere Vorlage habe, die das Modul verwendet kann ich eine neue Zahl vergeben. Ist das so gedacht?
Das Modul speichert die gesetzte Container-Nummer (z.B. 500) immer in Zusammenhang von Modul-Id und Container-Nummer des Moduls. Wenn du das in einer anderen Vorlage verwendest, kann da die Container-Nummer unterschiedlich sein. Man könnte sich überlegen, die Container-Nummer über eine Mandanteneinstellung fest vorzugeben, so dass es überall verwendet wird, das müsste dann entsprechend implementiert werden.

Gruß
Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Antworten