Page 1 of 1

Content von anderen Seiten abgreifen und als Teaser darstellen

Posted: Tue Sep 16, 2008 5:27 pm
by Ute
Liebe Leute,

nach längerer Zeit beschäftige ich mal wieder mit CMSMS, da ich auf der Suche nach bestimmten Features bin:

Hier meine Frage:

Gibt es ein Modul/ein Tag, mit dem es möglich ist, den Inhalt verschiedener Seiten abzugreifen und diese dann auf einer Übersichtsseite anzuzeigen? Der Text der Detailseite sollte gekürzt erscheinen mit einem Möglichkeit ein "Weiterlesen" bzw. "Mehr..." einzufügen, bzw. das System soll dies automatisch einfügen.

Danke schon mal für Eure Hilfe!

LG
Ute

Re: Content von anderen Seiten abgreifen und als Teaser darstellen

Posted: Tue Sep 16, 2008 6:50 pm
by cyberman
Du könntest es via RSS-Feed machen. Da gabs vor kurzem einen (englischen) Thread

http://forum.cmsmadesimple.org/index.ph ... 796.0.html

Re: Content von anderen Seiten abgreifen und als Teaser darstellen

Posted: Sat Sep 20, 2008 8:26 pm
by nhaack
Hallo Ute,

vielleicht hilft dir hier mein frisch erstelltes content_dump plug-in weiter. Du kannst es hier: http://forum.cmsmadesimple.org/index.php/topic,25925.0.html finden (weiter unten gibt es eine Version 0.2 - bitte die nutzen). Das Plug-in kann zwar noch keine Inhalte kürzen, aber du könntest auch wie folgt vorgehen:

Die Templates der Detailseiten erhalten einen weiteren Content Block "summary". Einfach folgendes in den Template Code schreiben:

Code: Select all

{content block="summary" assign="summary_var"}
Durch das "assign" wird verhindert, das dieser Content auf der Seite angezeigt wird, beim Erstellen/Bearbeiten der Seite aber ein zusätzliches Feld "Summary" vorhanden ist. Wir haben jetzt also ein weiteres Feld in der Seite für eine editoriale Zusammenfassung, dass aber nicht auf der eigentlichen Seite angezeigt wird.

Der Plug-in Tag um an alle Beiträge zu kommen die unterhalb einer Index-Seite liegen ohne die Index-Seite anzuzeigen sähe so aus:

Code: Select all

	{content_dump block="summary" start_id="$content_id" exclude="$content_id"}
Durch start_id beziehen wir nur den Strang von dem die Index-Seite die Hauptseite bildet. Durch block="summary" erhalten wir den Content-Block Summary mit der Zusammenfassung. Da die Seite sich in unserem Fall selbst darstellen müsste, exkludieren wir diese mit dem exclude Parameter, somit werden nur die Unterseiten ausgegeben.

Um jetzt eine Liste aller Seiten auszugeben, kannst du folgendes machen:

Code: Select all


	{foreach from=$dump item=dump} 

		<h3>{$dump->title}</h3>
		{$dump->content} 
		<a href="{$dump->alias}.htm">Mehr lesen</a>

	{/foreach}

Wenn du beides in ein spezielles Index-Template einbaust, dann hast du ein automatisches Index-Template.

Hoffe, dies könnte eine Lösung für dich sein.

Beste Grüße
Nils

Re: Content von anderen Seiten abgreifen und als Teaser darstellen

Posted: Sat Sep 20, 2008 8:38 pm
by cyberman
nhaack wrote: Das Plug-in kann zwar noch keine Inhalte kürzen,
Dafür kannst du auch den Smarty-Modifikator truncate verwenden ;).

Re: Content von anderen Seiten abgreifen und als Teaser darstellen

Posted: Sat Sep 20, 2008 8:50 pm
by nhaack
Mhh... kann ich mit Smarty auch verhindern, dsss z.B. ein HTML Tag nicht zerschnitten wird, bzw. passt Smarty da selbst drauf auf?

Also, daß z.B. ein Absatz immer ganz bleibt und ich nicht ein übrig hab was nicht geschlossen wurde oder eine Bilder URL die zerhakt wird, oder ein eventueller Object-Tag der nicht komplett ist.

Leider kenne ich mich mit Smarty nicht so gut aus, aber truncate ist schon mal ein guter Anfang.

Beste Grüße
Nils

Re: Content von anderen Seiten abgreifen und als Teaser darstellen

Posted: Sat Sep 20, 2008 8:55 pm
by cyberman
Hmm, die Doku zu truncate sagt
Um die Zeichenkette exakt an der definierten Position abzuscheiden, können sie als dritten Parameter 'true' übergeben.