mpArticleInclude (aka Article Include)

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

mpArticleInclude (aka Article Include)

Beitrag von xmurrix » Mi 13. Nov 2019, 20:23

Das Modul mpArticleInclude basiert auf der Version 1.0 des Moduls Article Include aus dem CONTENIDO Forum.

Damit lassen sich über das Layout per Marker definierte Inhalte aus CONTENIDO Seiten extrahieren und einbinden. Das Modul ist nicht dafür geeignet, um einzelne Content-Typen aus Artikeln zu extrahieren.

Dabei wird mit Hilfe der Snoopy Klasse eine reguläre HTTP Anfrage zum Artikel abgesetzt um dann den Inhalt der erhaltenen Antwort, also die Ausgabe zwischen den Markern, auszugeben.

Das Originalmodul ist unter folgender Seite zu finden:
http://forum.contenido.org/viewtopic.ph ... 51#p132951


INSTALLATION/VERWENDUNG

Inhalt des Modulpackages in das Modulverzeichnis des Mandanten, z. B. in cms/data/modules/ entpacken.

In gewünschten Layouts die Marker <!--start:content--> und <!--end:content--> setzen, um die Inhalte zwischen den Markern extrahieren zu können. Die Marker sollten HTML-Kommentare sein, damit sie die Ausgabe der Artikel nicht beeinträchtigen, z. B.:

Code: Alles auswählen

...
<!--start:content-->
    <div id="content">
        <container id="123" name="content" types="content" mode="optional" default="">content</container>
        <container id="124" name="content" types="content" mode="optional" default="">content</container>
    </div>
<!--end:content-->
...
Dieses Modul in einer Artikelvorlage einrichten, in der die Inhalte anderer Artikel (die auf Layouts mit den Markern basieren) eingebunden werden sollen.

Einen Artikel erstellen, die auf die Vorlage basiert.

In der Artikelkonfiguration die Kategorie und den Artikel wählen, aus der der Inhalt eingebunden werden soll.


CHANGELOG

2019-11-13 mpArticleInclude 1.4.0 (für CONTENIDO 4.9.x - 4.10.x)
  • change: Ordner "vendor" in "lib" umbenannt
  • change: Update auf Snoopy 2.0.0 mit PHP 7.2 support
2014-07-23 mpArticleInclude 1.3.3 (für CONTENIDO 4.9.x)
  • bugfix: Ermitteln der Länge des Ende-Markers
2013-11-17 mpArticleInclude 1.3.2 (für CONTENIDO 4.9.x)
  • change: Überarbeiten der Moduleingabe und -ausgabe
  • change: Englische Übersetzungen
2013-09-19 mpArticle_Include 1.3.1 (für CONTENIDO 4.9.x)
  • change: Inhalt inkl. Ende-Marker extrahieren
2013-09-10 mpArticle_Include 1.3 (für CONTENIDO 4.9.x)
  • Erste Veröffentlichung des mpArticle_Include Moduls

DOWNLOAD

Das Modul könnt ihr vom GitHub Repository herunterladen:
https://github.com/purcaholic/mpArticleInclude

Grüße
xmurrix
CONTENIDO downloads: CONTENIDO 4.10.1
CONTENIDO links: Documentation, API documentation
CONTENIDO @ Github: CONTENIDO 4.10

shi
Beiträge: 250
Registriert: Fr 5. Nov 2004, 14:12
Kontaktdaten:

Re: mpArticleInclude (aka Article Include)

Beitrag von shi » Fr 10. Jan 2020, 16:47

Funktioniert das Modul auch Mandantenübergreifend? Ich habe zwei Mandanten in einer Contenido-Installationen. Jetzt sollen nur die Inhalte eines Artikels des 1. Mandanten beim 2. Mandanten eingebunden werden. Kann mann das mit dem Modul umsetzen, so das auch das Layout des 2. Mandanten erhalten bleibt?

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

Re: mpArticleInclude (aka Article Include)

Beitrag von xmurrix » Fr 10. Jan 2020, 17:11

...Funktioniert das Modul auch Mandantenübergreifend?...
Nein, momentan können nur Artikel des aktuellen Mandanten eingebunden werden. Das Einbinden von Artikeln anderer Mandanten wäre aber ein nettes Feature für die nächste Version des Moduls.
CONTENIDO downloads: CONTENIDO 4.10.1
CONTENIDO links: Documentation, API documentation
CONTENIDO @ Github: CONTENIDO 4.10

Horst1234
Beiträge: 333
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: mpArticleInclude: Kategorie wählen geht nicht

Beitrag von Horst1234 » Sa 28. Mär 2020, 18:58

Guten Tag,

ich habe die neuste Version 1.4.0 in CONTENIDO 4.10.1 eingebaut.

Immer, wenn ich in den Voreinstellungen der Vorlage eine Kategorie anwählen will, springt das Dropdown sofort zurück auf "bitte wählen..."
In den Logs finde ich:
[28-Mar-2020 18:50:04 Europe/Berlin] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /usr/www/users/treffl/neu/contenido/classes/class.htmlparser.php on line 479
Wenn ich im Artikel die Kategorie anwählen will, klappt es.
Aber das muss ich dann für alle Artikel einzeln tun, was natürlich sehr aufwändig ist.

Gruß aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

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

Re: mpArticleInclude (aka Article Include)

Beitrag von xmurrix » So 29. Mär 2020, 20:38

Hallo Horst1234,
...Immer, wenn ich in den Voreinstellungen der Vorlage eine Kategorie anwählen will, springt das Dropdown sofort zurück auf "bitte wählen..."...
In den Voreinstellungen der Vorlage wird die Auswahl der Kategorie vom Backend nicht gespeichert, also die CMS-Variable "CMS_VALUE[1]" im Modul wird nicht gesetzt. Daher wird das Dropdown erneut mit "Bitte wählen" angezeigt. Man müsste sich also ansehen, warum die Auswahl nicht gespeichert wird, vermutlich ist das nicht ein Problem des Moduls, sicher bin ich mir aber nicht.
...In den Logs finde ich:
[28-Mar-2020 18:50:04 Europe/Berlin] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /usr/www/users/treffl/neu/contenido/classes/class.htmlparser.php on line 479...
Diesen Fehler konnte ich nicht reproduzieren, vermutlich ist der Grund ein anderes.

Grüße
xmurrix
CONTENIDO downloads: CONTENIDO 4.10.1
CONTENIDO links: Documentation, API documentation
CONTENIDO @ Github: CONTENIDO 4.10

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

Re: mpArticleInclude (aka Article Include)

Beitrag von xmurrix » So 29. Mär 2020, 21:30

Hallo nochmal,

das Problem mit den Voreinstellungen der Vorlage konnte eingegrenzt werden. Die Funktionalität in den Voreinstellungen der Vorlage verhält sich anders als die Konfiguration im Artikel. Während es in der Artikelkonfiguration (contenido/includes/include.tplcfg_edit.php) ausreicht, das Formular abzuschicken, wird in den Voreinstellungen der Vorlage (contenido/includes/include.pretplcfg_edit.php) erwartet, dass auf den Senden Button geklickt wurde.

Das lässt sich aber lösen, wenn man in der Moduleingabe "mp_article_include_input.php", die Zeile 113 von

Code: Alles auswählen

$('form[name="tplcfgform"]').submit();
in folgendes ändert:

Code: Alles auswählen

$('form[name="tplcfgform"]').append('<input type="hidden" name="x" value="1">').append('<input type="hidden" name="y" value="1">').submit();
Das ist zwar keine saubere Lösung, funktioniert aber...

Grüße
xmurrix
CONTENIDO downloads: CONTENIDO 4.10.1
CONTENIDO links: Documentation, API documentation
CONTENIDO @ Github: CONTENIDO 4.10

Oldperl
Beiträge: 4155
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: mpArticleInclude (aka Article Include)

Beitrag von Oldperl » Mo 30. Mär 2020, 13:19

Servus,

und wie sähe dann die saubere Lösung aus?

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

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

Re: mpArticleInclude (aka Article Include)

Beitrag von xmurrix » Mo 30. Mär 2020, 16:06

Hallo,
... und wie sähe dann die saubere Lösung aus?...
Vermutlich sollte das Backend sich in den Voreinstellungen der Vorlage nur darauf verlassen, dass das Formular abgeschickt wurde und nicht zusätzlich prüfen, ob das Speichern-Button geklickt wurde. Warum man das in den Voreinstellungen der Vorlage anders als in der Artikelkonfiguration macht, weiß ich nicht.

Gruß
xmurrix
CONTENIDO downloads: CONTENIDO 4.10.1
CONTENIDO links: Documentation, API documentation
CONTENIDO @ Github: CONTENIDO 4.10

Horst1234
Beiträge: 333
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: mpArticleInclude (aka Article Include)

Beitrag von Horst1234 » Di 31. Mär 2020, 10:05

Hallo xmurrix,
so klappt es, mercí
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

Faar
Beiträge: 1716
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: mpArticleInclude (aka Article Include)

Beitrag von Faar » Do 18. Mär 2021, 09:27

xmurrix hat geschrieben:
Mi 13. Nov 2019, 20:23

Code: Alles auswählen

<!--start:content-->
    <div id="content">
        <container id="123" name="content" types="content" mode="optional" default="">content</container>
        <container id="124" name="content" types="content" mode="optional" default="">content</container>
    </div>
<!--end:content-->
Guten Morgen alle Miteinander!
Würde dieses <!--start:content--> auch funktionieren, wenn es im Tiny-Editor als HTML irgendwo im Fließtext eingefügt werden würde?
Oder greift das Modul nur auf die Inhalte von Content-Modulen zu und nicht auf den Fließtext?

Ich frage darum, weil ich vorhabe, in einer Kategorie-Seite einen Absatz mit Überschrift von einem anderen Artikel aus der Unterkategorie einzufügen und diese Überschrift dann als #-Anker für Direktverlinkung dient. Und ich möchte dafür kein extra Layout einrichten müssen, falls es sich umgehen ließe. Im Menümodul könnte ich die Unterkategorie dann lediglich als #name an den Menülink ausgeben, so dass nicht der Artikel im Untermenü geöffnet wird sondern in der Hauptkategorie nur auf die Überschrift im Text gesprungen wird.
Also sowas: https://dingenskirchen.odd/main/index.html#subname

Nachtrag:
Oder würde das mod_rewrite Plugin folgendes daraus machen?
https://dingenskirchen.odd/main/#subname/index.html
:?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

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

Re: mpArticleInclude (aka Article Include)

Beitrag von xmurrix » Do 18. Mär 2021, 20:16

Hallo Frank,
...Würde dieses <!--start:content--> auch funktionieren, wenn es im Tiny-Editor als HTML irgendwo im Fließtext eingefügt werden würde?
...
Ja, sofern die Marker bei der Ausgabe der Seite enthalten sind, egal, wird das Modul den Inhalt dazwischen einbinden können, da das Modul den Artikel per HTTP-Request holt, um dann den Inhalt zwischen den Markern zu extrahieren.
...Oder würde das mod_rewrite Plugin folgendes daraus machen?
https://dingenskirchen.odd/main/#subname/index.html...
Nein, das AMR-Plugin sollte die URL nicht ändern. Du kannst aber sicherheitshalber die URLs direkt im Modul generieren, anstatt alle bei der Ausgabe der Seite durch das AMR-Plugin ersetzen zu lassen.

Gruß
Murat
CONTENIDO downloads: CONTENIDO 4.10.1
CONTENIDO links: Documentation, API documentation
CONTENIDO @ Github: CONTENIDO 4.10

Antworten