mpArticleInclude (aka Article Include)

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

mpArticleInclude (aka Article Include)

Beitrag von xmurrix » Mo 9. Sep 2013, 23:58

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

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: 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.

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: mpArticle_Include (aka Article Include)

Beitrag von josh » Mi 18. Sep 2013, 13:45

Hallo xmurrix,

da ist ein kleiner Fehler drin:
Das end Tag wird mit rausgefiltert.

Dies Zeile austauschen/ergänzen:

Code: Alles auswählen

$modContext->diffLen = $modContext->endPos - $modContext->startPos;
durch

Code: Alles auswählen

$modContext->diffLen = $modContext->endPos - $modContext->startPos + strlen($modContext->cmsEndMarker);
Im Frontend hat das keine Probleme gemacht. Im Backend hat es dadurch diesen Fehler gegeben.
http://forum.contenido.org/viewtopic.ph ... 74#p160583

Viele Grüße

josh

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

Re: mpArticle_Include (aka Article Include)

Beitrag von xmurrix » Mi 18. Sep 2013, 23:22

Hallo josh,

danke für das Feedback.

Habe mir das gerade eben angesehen, konnte kein Problem feststellen.

Das einzige, was vielleicht anzumerken ist, dass extrahierte Inhalt nicht den Marker für das Ende des zu extrahierenden Inhalts hat.

Hat z. B. man den Inhalt

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-->
...
extrahiert das Modul folgendes daraus:

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>
Das Fehlen des Markers <!--end:content--> sollte keinen Fehler im Backend verursachen, zumal es sich hierbei um einen HTML-Kommentar handelt.

Dennoch übernehme ich gerne deinen Vorschlag in das Modul, wenn <!--start:content--> im extrahierten Inhalt vorkommt, dann sollte man konsistent bleiben und auch <!--end:content--> haben.

Gruß
xmurrix
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.

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: mpArticle_Include (aka Article Include)

Beitrag von josh » Do 19. Sep 2013, 13:59

Hallo Murat,

im Frontend sah alles gut aus, wieso das im Backend bei mir auftrat weis ich auch nicht.
Wie auch immer, mein Problem war damit beseitigt.

josh

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: mpArticle_Include (aka Article Include)

Beitrag von josh » Do 3. Okt 2013, 21:36

Hallo Murat,
xmurrix hat geschrieben: Das Fehlen des Markers <!--end:content--> sollte keinen Fehler im Backend verursachen, zumal es sich hierbei um einen HTML-Kommentar handelt.
du hast natürlich recht. Habe jetzt ein bischen Zeit gehabt und mir das ganze nochmal angeschaut.
Das Problem wurde durch meine Konfiguration hervorgerufen.
Ich habe den Eingabebereich des Moduls nicht verwendet, sondern idart und idcat fest übergeben.

$modContext->cmsStartMarker enthielt Datenmüll weil CMS_VALUE[3]" == '' nicht leer war. Auch nach der Änderung
enthielt $modContext->endPos keinen Wert. Da ging einiges durcheinander.

Merkwürdig allerdings das dieses Problem nur im Backend auftrat.
Meine "Lösung" hat das Problem wohl zufällig behoben.

Viele Grüße

josh

rude
Beiträge: 3
Registriert: Sa 19. Okt 2013, 12:26
Kontaktdaten:

Re: mpArticle_Include (aka Article Include)

Beitrag von rude » Sa 19. Okt 2013, 12:33

Bei mir funktioniert das leider nicht:(

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

Re: mpArticle_Include (aka Article Include)

Beitrag von xmurrix » Mo 21. Okt 2013, 08:52

rude hat geschrieben:Bei mir funktioniert das leider nicht:(
Hallo eude,

wen du uns sagen kannst, was genau nicht funktioniert, dann können wir dir besser weiterhelfen.

Kriegst du einen Fehler in der Datei contenido/logs/error.log oder auch in der Ausgabe?

Schau dir auch den Quelltext der Ausgabe an, eventuell ist da der Fehler als ein HTML-Kommentar ausgegeben.

Gruß
xmurrix
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.

Schneemensch
Beiträge: 72
Registriert: Fr 24. Apr 2009, 17:51
Wohnort: Halle/Saale
Kontaktdaten:

Re: mpArticleInclude (aka Article Include)

Beitrag von Schneemensch » Do 30. Jan 2014, 21:32

Hallo, es gibt ein BUG, nach Update auf 4.9.3.

in den Einstellungen wird aus
<!--start:content--> immer:

<!--start:content-->

Wie kann man das beheben?
Kann jemand helfen?

edit: Nach Update auf die Version 1.3.2 geht es nun, seltsamerweise muss ich letztens eine 1.2 geschnappt haben. Konnte es in den Layouts umswitchen und nun geht es. Alles up2date halten hilft ;)

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

Re: mpArticleInclude (aka Article Include)

Beitrag von xmurrix » Fr 31. Jan 2014, 20:22

Hallo Schneemensch,

danke für das Feedback, war gerade am Schreiben einer Antwort, als ich gemerkt habe, dass sich das schon erledigt hat.

Gruß
xmurrix
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.

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: mpArticleInclude (aka Article Include)

Beitrag von josh » Fr 28. Feb 2014, 00:43

Hallo Murat,

ich habe das Modul in con 4.9.3 eingebaut.
Meine Probleme die ich oben im Thred hatte waren nicht mehr da.

Anfangs hatte ich ein Problem weil ich durch Tidy die Kommentare entfernt hatte :roll:

Du hast den Code ja noch heftig überarbeitet. Ich werde mich mal da durchkämpfen um zu lernen.

Danke

Josef

paverm
Beiträge: 1
Registriert: Mo 24. Mär 2014, 08:45
Kontaktdaten:

Re: mpArticleInclude (aka Article Include)

Beitrag von paverm » Mo 24. Mär 2014, 11:14

Hallo Herr Purat,

ich habe das Modul bei mir eingebunden, im Layout die Marker gesetzt, kann auch die Konfiguration durchführen bekomme aber werde im Backend als auch im Frontend irgendetwas zu sehen.

Viele Grüße
Paul Vermeulen

farina
Beiträge: 259
Registriert: Fr 24. Okt 2003, 13:16
Wohnort: Düren
Kontaktdaten:

Re: mpArticleInclude (aka Article Include)

Beitrag von farina » Do 27. Mär 2014, 17:24

Hallo Murat,

ich habe das Modul eingebaut.
Auf den ersten Blick klappt es auch, aber es produziert einen Fehler im Quelltext und damit auch in nachfolgendem Inhalt.

Hinter dem End-Marker wird ein unfertiger Abschluß-body-Tag eingefügt. Das sieht so aus:

Code: Alles auswählen

<!--end:content-->
</bod
Ich habe alles überprüft, was mir eingefallen ist. Wodurch kann der Fehler kommen?

LG farina

farina
Beiträge: 259
Registriert: Fr 24. Okt 2003, 13:16
Wohnort: Düren
Kontaktdaten:

Re: mpArticleInclude (aka Article Include)

Beitrag von farina » Mo 9. Jun 2014, 16:01

Hallo,

nun habe ich in 2 weiteren Websites das Modul eingebaut. Überall habe ich das gleiche Problem.
Das Modul erzeugt einen unfertigen End-body-Tag
</bod
Gruß farina

McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: mpArticleInclude (aka Article Include)

Beitrag von McHubi » Mi 25. Jun 2014, 07:31

Hallo Murat,

habe das Modul in einer 4.9.3 nach Deinen Anweisungen eingebunden aber der Reiter "Konfiguration" bleibt "leer", sobald ich es in der Vorlage einbinde. Liegt es ggf. an dieser Zeile des Inputs?

Code: Alles auswählen

cInclude('module', 'includes/class.module.mparticleinclude.php');
Wo ist die Datei zu finden? In der Zip-Datei ist sie jedenfalls nicht dabei... Auskommentieren bringt übrigens auch nichts... :?

Danke Dir für einen Tipp! :D
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

matthiasschnueriger
Beiträge: 60
Registriert: Mo 28. Nov 2005, 16:01
Kontaktdaten:

Re: mpArticleInclude (aka Article Include)

Beitrag von matthiasschnueriger » Do 24. Jul 2014, 16:55

Hallo Farina

Konntest du das Problem mit dem abschliessenden Body-Tag lösen? Ich habe dasselbe Problem...

Code: Alles auswählen

</bod
Oder wäre Murat so nett, sich diesem kleinen Schönheitsfehler anzunehmen?

Danke und Gruss
Matthias

Antworten