[NEU] Article Include
[NEU] Article Include
Hallo Community,
ich habe gerade gesehen, dass xmurrix parallel auch eine Lösung online hat. Diese orientiert sich mehr an der bisherigen Vorgehensweise; ich hab hier noch einen anderen Vorschlag, der im Prinzip mehr wie eine Artikelliste mit nur 1 Artikel funktioniert, aber sehr gut konfigurierbar und anpassbar ist. Hier die Details:
Modul Article Include
Schließt CMSTypen eines existierenden Artikesl in einen anderen ein
Wie arbeitet das Modul?
- Nachdem über die Vorlage ein konkreter Artikel gewählt wurde, werden im Ausgabebereich derzeit 3 Contenttypen für Überschriften und 5 Contenttypen für HTML-Text ausgelesen.
- Diese werden an das HTML-Template (Smarty) weitergeleitet.
Konfiguration der Vorlage
- Kategorie wählen, bestätigen, und dann Artikel auswählen.
- Vorlage zuordnen.
Anpassung des Output und des Template
- in dieser Kombination kann das Modul recht leicht für weitere Bedürfnisse angepasst werden.
- Es können weitere Contenttypen ausgelesen und an das Template weitergereicht werden.
- Es lassen sich beliebig viele neue Templates erstellen und zuordnen.
- Da nun nicht mehr in der älteren Version auf Ausgabedumps zurückgegriffen wird, sondern direkt auf den gespeicherten Inhalt, können diese Inhalte durch neue HTML-Templates auf Wunsch auch neu arrangiert werden.
- Im Prinzip handelt es sich hier eher um eine Art extrem kastrierte Teaserfunktion für EINEN Artikel.
Kommentare
- Ich habe bewusst auf den Zugriff aus dem Cache verzichtet, da ich das für meine Einsatzzwecke nicht brauche, und ich im Gegenteil manchmal den eigentlich erzeugten Code lieber nochmal angepasst hätte.
- So soll manchmal der gleiche Artikel an unterschiedlichen Stellen auf verschiedenen Seiten zum Einsatz kommen und dort aber anders aufgeteilt / verschachtelt sein, bzw. mal mit, mal ohne eine Überschrift des Originals.
- Das lässt sich mit diesem Modul und den unterschiedlichen HTML-Templates nun gut realisieren.
September 2013, Viktor Lehmann, TONE2TONE e.K.
ich habe gerade gesehen, dass xmurrix parallel auch eine Lösung online hat. Diese orientiert sich mehr an der bisherigen Vorgehensweise; ich hab hier noch einen anderen Vorschlag, der im Prinzip mehr wie eine Artikelliste mit nur 1 Artikel funktioniert, aber sehr gut konfigurierbar und anpassbar ist. Hier die Details:
Modul Article Include
Schließt CMSTypen eines existierenden Artikesl in einen anderen ein
Wie arbeitet das Modul?
- Nachdem über die Vorlage ein konkreter Artikel gewählt wurde, werden im Ausgabebereich derzeit 3 Contenttypen für Überschriften und 5 Contenttypen für HTML-Text ausgelesen.
- Diese werden an das HTML-Template (Smarty) weitergeleitet.
Konfiguration der Vorlage
- Kategorie wählen, bestätigen, und dann Artikel auswählen.
- Vorlage zuordnen.
Anpassung des Output und des Template
- in dieser Kombination kann das Modul recht leicht für weitere Bedürfnisse angepasst werden.
- Es können weitere Contenttypen ausgelesen und an das Template weitergereicht werden.
- Es lassen sich beliebig viele neue Templates erstellen und zuordnen.
- Da nun nicht mehr in der älteren Version auf Ausgabedumps zurückgegriffen wird, sondern direkt auf den gespeicherten Inhalt, können diese Inhalte durch neue HTML-Templates auf Wunsch auch neu arrangiert werden.
- Im Prinzip handelt es sich hier eher um eine Art extrem kastrierte Teaserfunktion für EINEN Artikel.
Kommentare
- Ich habe bewusst auf den Zugriff aus dem Cache verzichtet, da ich das für meine Einsatzzwecke nicht brauche, und ich im Gegenteil manchmal den eigentlich erzeugten Code lieber nochmal angepasst hätte.
- So soll manchmal der gleiche Artikel an unterschiedlichen Stellen auf verschiedenen Seiten zum Einsatz kommen und dort aber anders aufgeteilt / verschachtelt sein, bzw. mal mit, mal ohne eine Überschrift des Originals.
- Das lässt sich mit diesem Modul und den unterschiedlichen HTML-Templates nun gut realisieren.
September 2013, Viktor Lehmann, TONE2TONE e.K.
- Dateianhänge
-
- content_article_include.zip
- (6.67 KiB) 244-mal heruntergeladen
Re: [NEU] Article Include
Super Modul, genau das was ich gesucht habe. Danke!
+1 von mir
+1 von mir
Could I help you... you can help me... buy me a coffee ☕. (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )
xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung
Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung
Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
-
- Beiträge: 22
- Registriert: Fr 18. Okt 2013, 12:28
- Kontaktdaten:
Re: [NEU] Article Include
Hallo Homtata,
ich habe dein Article_include Modul bei mir in Contenido 4.9.3 eingebunden und es funktioniert super. Ist genau das, wonach cih gesucht habe.
Ich habe nur eine Frage: Wie kann ich das Modul anpassen, damit es keine CSS Styles oder image Container mehr rausfiltert?
Ich habe für die Artikel, die mit dem Modul eingebunden werden, ein extra Layout, in dem 2-3 Container stehen, welche mittels div-Klassen gelayaoutet werden. In die Container lade ich dann das Standard content_text oder das content_image Modul.
Leider filtert das Article_include Modul mir jedes Mal die div-Klassen bzw. das content_image Modul raus. In der Backend-Vorschau sieht noch alles super aus, sobald der Artikel aber in einem anderen eingebunden wird und das Modul also aktiv ist, ist alles weg.
Da ich mcih nicht so gut auskenne, wäre es toll, wenn du mir die Code-Stelle nennen kannst und mir sagst, wie ich das erweitern kann. Das ist sicherlich keine große Sache, oder?
Viele Grüße und besten Dank!
Christina
ich habe dein Article_include Modul bei mir in Contenido 4.9.3 eingebunden und es funktioniert super. Ist genau das, wonach cih gesucht habe.
Ich habe nur eine Frage: Wie kann ich das Modul anpassen, damit es keine CSS Styles oder image Container mehr rausfiltert?
Ich habe für die Artikel, die mit dem Modul eingebunden werden, ein extra Layout, in dem 2-3 Container stehen, welche mittels div-Klassen gelayaoutet werden. In die Container lade ich dann das Standard content_text oder das content_image Modul.
Leider filtert das Article_include Modul mir jedes Mal die div-Klassen bzw. das content_image Modul raus. In der Backend-Vorschau sieht noch alles super aus, sobald der Artikel aber in einem anderen eingebunden wird und das Modul also aktiv ist, ist alles weg.
Da ich mcih nicht so gut auskenne, wäre es toll, wenn du mir die Code-Stelle nennen kannst und mir sagst, wie ich das erweitern kann. Das ist sicherlich keine große Sache, oder?
Viele Grüße und besten Dank!
Christina
Re: [NEU] Article Include
Hallo Christina,
ganz so einfach sind einige Dinge für dieses Modul nicht, wie Du dir das vorstellst, wenn du nicht ein paar Grundverständnisse und PHP-Kenntnisse für Contenido mitbringst... Mein Modul spricht ganz gezielt existierende Container aus Artikeln an und liest das aus, was dazu in der Datenbank gespeichert ist. In der Grundversion beschränkt sich das auf gewisse Texte und Überschriften. Es lässt sich auch auf Bildcontainer erweitern (Beispiel dann unten), erfordert dann aber auch immer angepasste Smarty-Templates.
Das Modul löscht KEINERLEI Tags oder Code aus dem Originalcontainer. Wenn umgebende DIV-Tags nicht "mitgenommen" werden, dann mit Sicherheit deshalb, weil diese im Layout (und damit außerhalb des Containers) stehen. Wenn du die brauchst, musst du die ggf. in den Smarty-Templates meines Moduls wieder ergänzen.
Möglicherweise ist aber auch Murrats Modul "mpArticleInclude" für dich besser geeignet, schaus dir mal an.
Hier eine Alternative für den Modul-Output, indem ein Bildcontainer mit der id 10 ausgelesen wird:
sowie ein dazugehöriges Smarty-HTML-Template:
LG Viktor
ganz so einfach sind einige Dinge für dieses Modul nicht, wie Du dir das vorstellst, wenn du nicht ein paar Grundverständnisse und PHP-Kenntnisse für Contenido mitbringst... Mein Modul spricht ganz gezielt existierende Container aus Artikeln an und liest das aus, was dazu in der Datenbank gespeichert ist. In der Grundversion beschränkt sich das auf gewisse Texte und Überschriften. Es lässt sich auch auf Bildcontainer erweitern (Beispiel dann unten), erfordert dann aber auch immer angepasste Smarty-Templates.
Das Modul löscht KEINERLEI Tags oder Code aus dem Originalcontainer. Wenn umgebende DIV-Tags nicht "mitgenommen" werden, dann mit Sicherheit deshalb, weil diese im Layout (und damit außerhalb des Containers) stehen. Wenn du die brauchst, musst du die ggf. in den Smarty-Templates meines Moduls wieder ergänzen.
Möglicherweise ist aber auch Murrats Modul "mpArticleInclude" für dich besser geeignet, schaus dir mal an.
Hier eine Alternative für den Modul-Output, indem ein Bildcontainer mit der id 10 ausgelesen wird:
Code: Alles auswählen
<?php
/**
*
* @package Module
* @subpackage IncludeArticle
* @version SVN Revision $Rev:$
*
* @author info@tone2tone.com
* @copyright TONE2TONE e.K., Viktor Lehmann
* @link http://www.tone2tone.com
*/
#Get current settings
$containerid = "CMS_VALUE[4]";
$cms_idcat = "CMS_VALUE[1]";
$cms_idart = "CMS_VALUE[2]";
$template = "CMS_VALUE[20]";
// Prepare module info. Needed later to check if defined default smarty template is a real file
$mod = new cApiModule($cCurrentModule);
$tplpath = $cfgClient[$client]["path"]["frontend"]."data/modules/".$mod->get("alias")."/template/";
$article = new cApiArticleLanguage();
$article->loadByArticleAndLanguageId($cms_idart, $lang);
$thisimage = $article->getContent('CMS_IMGEDITOR', 10); // liefert die img-id
$img01 = new stdClass();
$loadimage = new cApiUpload();
$loadimage->loadBy( "idupl", $thisimage );
$img01->path = "upload/".$loadimage->get("dirname").$loadimage->get('filename');
list ($img->width, $img->height, $img->type, $img->attr) = getimagesize( $img->uploadpath );
// use smarty template to output header text
$tpl = cSmartyFrontend::getInstance();
$tpl->assign('containerid', $containerid);
$tpl->assign('headline01', strip_tags($article->getContent('CMS_HTMLHEAD', 1)));
$tpl->assign('headline02', $article->getContent('CMS_HTMLHEAD', 2));
$tpl->assign('headline03', $article->getContent('CMS_HTMLHEAD', 3));
$tpl->assign('text01', $article->getContent('CMS_HTML', 1));
$tpl->assign('text02', $article->getContent('CMS_HTML', 2));
$tpl->assign('text03', $article->getContent('CMS_HTML', 3));
$tpl->assign('text04', $article->getContent('CMS_HTML', 4));
$tpl->assign('text05', $article->getContent('CMS_HTML', 5));
$tpl->assign('img01', $img01);
if ( $template != "" ) {
$tpl->display($template);
}
?>
Code: Alles auswählen
{if 0 lt $ulId|strlen}<!-- includeArticle -->{/if}
<div class='boxright' style=''>
{if NULL neq $img01}<img src="{$img01->path}">{/if}
{if $headline01 != ""}<h1>{$headline01}</h1>{/if}
{if $text01 != ""}{$text01}{/if}
</div>
{if 0 lt $ulId|strlen}<!-- end includeArticle -->{/if}
-
- Beiträge: 22
- Registriert: Fr 18. Okt 2013, 12:28
- Kontaktdaten:
Re: [NEU] Article Include
Hallo Viktor,
vielen Dank für deine schnelle und ausführliche Antwort. Was die Grundverständnisse von PHP angeht..naja, sagen wir mal so, ich kann es lesen und verstehe, was passiert, aber ich kann es nicht schrieben, weil ich in der Syntax nicht fit bin.
Ich teste deine Ergänzung mal und melde mich wieder zurück.
Mit Murrats Modul bin ich leider nicht klar gekommen, aber ich vermute, dass ich da einen Denkfehler habe.
Schauen wir mal, was der Morgen so bringt
LG
Christina
vielen Dank für deine schnelle und ausführliche Antwort. Was die Grundverständnisse von PHP angeht..naja, sagen wir mal so, ich kann es lesen und verstehe, was passiert, aber ich kann es nicht schrieben, weil ich in der Syntax nicht fit bin.
Ich teste deine Ergänzung mal und melde mich wieder zurück.
Mit Murrats Modul bin ich leider nicht klar gekommen, aber ich vermute, dass ich da einen Denkfehler habe.
Schauen wir mal, was der Morgen so bringt
LG
Christina
Re: [NEU] Article Include
Hallo Viktor,
ich habe das Bild mithilfe deiner Ergänzung integriert. Klappt Super!
Nun habe ich versucht das CMS_DATE mit ausgeben zu lassen. Das kriege ich aber nicht hin.
Kannst du mir einen Tipp geben?
LG Siggi
ich habe das Bild mithilfe deiner Ergänzung integriert. Klappt Super!
Nun habe ich versucht das CMS_DATE mit ausgeben zu lassen. Das kriege ich aber nicht hin.
Kannst du mir einen Tipp geben?
LG Siggi
Re: [NEU] Article Include
Was genau hast du denn versucht?
Ich würde erstmal im Moduloutput ergänzen (ggf. korrekte Nummer für CMS_DATE anpassen)
und dann im Template
Was landet dann in der Frontendausgabe? Falls das komischer XML-Code sein sollte, dann seh ich noch eine weitere Möglichkeit, das in die korrekte Form zu bringen, eher so:
LG Viktor
Ich würde erstmal im Moduloutput ergänzen (ggf. korrekte Nummer für CMS_DATE anpassen)
Code: Alles auswählen
$tpl->assign('date01', $article->getContent('CMS_DATE', 1));
Code: Alles auswählen
{if $date01 != ""}{$date01}{/if}
Code: Alles auswählen
$dom = new domDocument;
$datexml = $article->getContent('CMS_DATE', 1);
$dom->loadXML($datexml);
$xml = simplexml_import_dom($dom);
$date01 = date('Y-m-d', (int)$xml->timestamp);
...
$tpl->assign('date01', $date01);
Re: [NEU] Article Include
Schritt 1 und Schritt 2 hatte ich gemacht und war bis zu dem komischen XML-Code im Frontend gekommen.
Die weitere Möglichkeit hat geholfen. Das Date wird nun angezeigt.
VIELEN DANK für die Hilfe
Gruß Siggi
Die weitere Möglichkeit hat geholfen. Das Date wird nun angezeigt.
VIELEN DANK für die Hilfe
Gruß Siggi
-
- Beiträge: 437
- Registriert: Do 19. Jun 2008, 09:09
Re: [NEU] Article Include
Für eine der künftigen Versionen planen wir einen vereinfachten Zugriff auf diese Informationen, damit nicht das XML-Dokument geparst werden muss.
Viele Grüße
Dominik
Dominik