Page 1 of 1
Kürzung der Artikeltexte auf der Startseite
Posted: Wed Mar 29, 2006 8:42 am
by Fisbeck
Hallo,
ich habe das Problem, dass alle Einträge auf der Startseite in der vollen Länge angezeigt werden. Ich möchte gerne auf der Startseite jeden Artikel nur mit einer bestimmten Zeichenlänge anzeigen und dann mit "Artikel lesen" auf den gesamten Artikel verlinken.
Auf
http://www.evilsun.dk/blog/ ist das bspw. schön gelöst.
Wer kann mir helfen????
Danke
Hagen
Posted: Wed Mar 29, 2006 8:54 am
by DarKRaveR
Du solltest eigentlich bei Eintrag erstellen eine Box für den Text haben, mit Titel Eintrag (Hier wäre Aufmacher besser).
Weiter unten folgt eine Box mit Erweiterter Eintrag ...
Posted: Wed Mar 29, 2006 9:26 am
by Fisbeck
Danke... Das war einfach zu einfach... Jetzt weiss ich endlich auch, wofür die Box "Erweiterter Eintrag" da ist...
Hagen
Posted: Wed Mar 29, 2006 9:36 am
by DarKRaveR
Bitte, ich finde die Bezeichnungen auch etwas (arg) unglücklich, aber nicht nur an der Stelle ...

Posted: Sun Aug 06, 2006 12:23 pm
by jorainbo
Geht das auch anders?
Ich habe Autoren die das eh nicht blicken oder beherzigen, dass sie den Inhalt eines Beitrags in 2 verschiedene Felder eingeben müssen, damit nur ein Teil davon auf der Index-Seite erscheint.
Gibt´s ne andere Möglichkeit die Länge der Texte auf der Index-Seite zu begrenzen?
Oder kann ich den {$entry.body} auch komplett aus der Index-Seite entfernen, so dass man zu jeder Meldung nur den Titel hat der gleichzeitig auch der Link auf die Detailansicht der Nachricht ist?
Wenn ich das aus der "entries.tpl" rausnehme, fehlt es ja nicht nur auf der index-seite, sondern auch auf der Detailansicht des Beitrags, oder?
Posted: Sun Aug 06, 2006 12:42 pm
by garvinhicking
Hi!
Ja, Du kannst mittels Smarty's "truncate" Funktion auch $entry.body beschneiden:
http://smarty.php.net/truncate
Du kannst also überall dort wo derzeit $entry.body ohne $entry.extended angezeigt wird nur noch $entry.body|truncate... einsetzen, und dort wo entry.extended steht dann $entry.body.
Viele Grüße,
Garvin
Posted: Sun Aug 06, 2006 12:49 pm
by jorainbo
garvinhicking wrote:Hi!
Ja, Du kannst mittels Smarty's "truncate" Funktion auch $entry.body beschneiden:
http://smarty.php.net/truncate
Du kannst also überall dort wo derzeit $entry.body ohne $entry.extended angezeigt wird nur noch $entry.body|truncate... einsetzen, und dort wo entry.extended steht dann $entry.body.
Viele Grüße,
Garvin
das funktioniert irgendwie nicht richtig.
Ich habe in der entries.tpl nun folgendes geschrieben:
Code: Select all
<div class="serendipity_entry_body">
{$entry.body|truncate:100}
</div>
{if $entry.is_extended}
<div class="serendipity_entry_extended"><a id="extended"></a>{$entry.body}</div>
{/if}
Auf der Index-Seite zeigt er mir das nun richtig an, aber auf der Detailseite der Nachricht, nachdem ich auf den Titel geklickt habe, kürzt er mir den Inhalt nun genauso ab. Ist ja eigentlich logisch, denn ich habe ja keinen "extended" Bereich, die Autoren haben ja nur in der ersten Textbox was eingetragen, nicht in der extended entry textarea.
lso gibt´s für meine Beiträge ja kein "extended".
Posted: Sun Aug 06, 2006 12:52 pm
by garvinhicking
Hi!
Nutze
Code: Select all
{if $entry.is_extended}
<div class="serendipity_entry_body">
{$entry.body}
</div>
{else}
<div class="serendipity_entry_body">
{$entry.body|truncate:100}
</div>
{/if}
Grüße,
Garvin
Posted: Sun Aug 06, 2006 1:43 pm
by jorainbo
garvinhicking wrote:Hi!
Nutze
Code: Select all
{if $entry.is_extended}
<div class="serendipity_entry_body">
{$entry.body}
</div>
{else}
<div class="serendipity_entry_body">
{$entry.body|truncate:100}
</div>
{/if}
Grüße,
Garvin
das hilft leider auch nichts...wie gesagt, im "extended body" steht ja nichts, meine Autoren füllen ja immer nur das erste Textfeld aus. D.h. $entry.is_extended trifft ja nie zu, die Beiträge sind ja nie "extended". Mit dem obigen Code habe ich wieder nur abgeschnittene Beiträge, sowohl auf der Index, als auch auf der Detailseite. Das Problem scheint mir zu sein, dass sowohl index-seite als auch detailseite die darstellung der Beiträge aus der gleichen .tpl-datei ziehen, nämlich der entries.tpl...
wie mache ich der entries.tpl klar, dass sie einmal nur einen teil der nachricht anzeigen soll (nämlich auf der index-seite) und einmal die komplette nachricht (nachdem man auf den Titel geklickt hat).
Posted: Sun Aug 06, 2006 1:52 pm
by garvinhicking
Hi!
Hast Du den Code ausprobiert? Denn da steht nichts von extended body in meinem Code.
Wenn der Fall $is_extended eintritt, wird ein Eintrag in voller Ansicht gezeigt, dann darf nicht truncated werden. Im Else-Fall wird der Eintrag in der Übersicht gezeigt, da muss truncated werden.
Viele Grüße,
Garvin
Posted: Sun Aug 06, 2006 1:55 pm
by jorainbo
garvinhicking wrote:Hi!
Hast Du den Code ausprobiert? Denn da steht nichts von extended body in meinem Code.
Wenn der Fall $is_extended eintritt, wird ein Eintrag in voller Ansicht gezeigt, dann darf nicht truncated werden. Im Else-Fall wird der Eintrag in der Übersicht gezeigt, da muss truncated werden.
Viele Grüße,
Garvin
klar hab ich´s ausprobiert und reinkopiert, aber "is_extended trifft ja nicht ein, denn die Message ist nicht extended und wenn ich auf den Titel klicke wird ja auch keine "extended" version geöffnet? Oder steh ich auf der Leitung?
Posted: Sun Aug 06, 2006 2:44 pm
by garvinhicking
Hi!
Probier mal $is_single_entry anstelle von $is_extended?
Viele Grüße,
Garvin
Posted: Sun Aug 06, 2006 3:42 pm
by jorainbo
garvinhicking wrote:Hi!
Probier mal $is_single_entry anstelle von $is_extended?
Viele Grüße,
Garvin
jau....so passts...super, vielen Dank
Jorainbo
Posted: Mon Mar 26, 2007 2:44 pm
by sandman23
Code: Select all
{if $entry_id == false}
{$entry.body|truncate:600:"..."}
{elseif $entry_id != false}
{$entry.body}
{/if}
so gehts übrigens auch...
aber dann wäre in meinem falle noch das problem, dass bilder und html tags im eintrag sind, die mit gecutet werden könnten...
Posted: Mon Mar 26, 2007 5:37 pm
by garvinhicking
Hi!
aber dann wäre in meinem falle noch das problem, dass bilder und html tags im eintrag sind, die mit gecutet werden könnten...
Richtig, das Problem kann man so einfach nicht umgehen, dafür müsste man einen vollständigen HTML-Parser als smarty-Modifier programmieren, der schaut welche HTML-Tags man kürzen/trennen darf, und welche nicht. Z.B. dürfte man ein "<div>" nicht trennen ohne das passende "</div>", ein "<a href>" nicht ohne "</a>".
So ein Parser ist sehr großer Aufwand, ich glaube dass so etwas auch noch keiner geschrieben hat.
Warum kannst du nicht die gedachte manuelle Trennung von "Eintrag" und "Erweiterter Eintrag" nutzen?
Viele Grüße,
Garvin