wie soll ich das angehen?
Die Newsausgabe funktioniert schon super, nur ist es ja so, dass auf der News-seite die ersten 40 zeichen des Artikel stehen. Ich will aber einen kurtzen einleitenden Text. Also z.B. dass ich wenn ich eine News erstelle, dass ich dort dann die Blockelemente: Üerschrit, bild, kurtzer Text und langer text eingeben kann. Wenn ich auf "mehr lesen" klicke möchte ich dann den kangen text lesen. Wie mach ich das? also wie mach ich der teaser-ausgabe klar, welcher der kurtze, und welcher der lange text ist?
lg. SquirrelFrank
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
hab ich so gemacht... jetzt wird um den kurztext ein div mit einer spetiellen klasse geschrieben. Aber wie sage ich jetzt dem Teaser, dass nur dieser Teil ausgegeben werden soll? Weil das Ganze ist ja der "output"-block. Ich dachte mir, dass ich einfach im News-kuztext modul eine spetielle Zeichenkette einfüge (sowas wie "sgh4owgoe8io") und dann mittels explode den block in 2 bereiche zu teilen.
Den breich vor "sgh4owgoe8io", und der danach. Und dann einfach nur den ersten teil auszugeben...
wenn ich jetzt aber auf "mehr lesen" klicke, wird auch sgh4owgoe8io ausgegeben.
Ich könnte das jetzt einfach auskommentieren, aber gäbe es da auch eine schönere lösung?
Den breich vor "sgh4owgoe8io", und der danach. Und dann einfach nur den ersten teil auszugeben...
wenn ich jetzt aber auf "mehr lesen" klicke, wird auch sgh4owgoe8io ausgegeben.
Ich könnte das jetzt einfach auskommentieren, aber gäbe es da auch eine schönere lösung?
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
sodale... ein bisschen herumgebastelt, und folgendes ist rausgekommen:
http://squirrelfrank.sq.funpic.de/redaxo/
doch das problem besteht aus 2 Fehlern, die ich einfach nicht wegbekomme.
Zum einen wird beim ersten artikel das "alles lesen" ins <p>-Absatzelement reingezogen, und zweitens werden die DIVs falsch geschlossen. Wodurch der Content-berich schon oberhalb aufhört.
Warscheinlich liegt es daran, dass ich das ganze in eine Liste gebaut habe,... auf jedenfall schaffe ich es nicht, keinen Fehlr zu profuzieren
Ich werde den Teil des Teaser-outputs posten, den ich verändert habe, und die veränderten Stellen mit //SQUIRRELFRANK kennzeichnen.
vielen lieben Dank
SquirrelFrank
http://squirrelfrank.sq.funpic.de/redaxo/
doch das problem besteht aus 2 Fehlern, die ich einfach nicht wegbekomme.
Zum einen wird beim ersten artikel das "alles lesen" ins <p>-Absatzelement reingezogen, und zweitens werden die DIVs falsch geschlossen. Wodurch der Content-berich schon oberhalb aufhört.
Warscheinlich liegt es daran, dass ich das ganze in eine Liste gebaut habe,... auf jedenfall schaffe ich es nicht, keinen Fehlr zu profuzieren
Ich werde den Teil des Teaser-outputs posten, den ich verändert habe, und die veränderten Stellen mit //SQUIRRELFRANK kennzeichnen.
Code: Alles auswählen
print '<ul class="teaser">'; //SQUIRRELFRANK
foreach ( $article_list as $ooarticle) {
if ($ooarticle->isOnline(true)) {
$articleId = $ooarticle->getId();
$article = new article();
$article->setArticleId( $articleId);
$articleContent = $article->getArticle();
// Leerzeichen entfernen am Anfang und Ende des Strings
$articleContent = trim($articleContent);
// Leerzeichen vor </p> einfuegen.
// Sonst wird das letzte Wort eines Absatzes und das erste Wort
// des nachfolgenden Absatzes als ein Wort erkannt
$articleContent = str_replace("</p>", " </p>", $articleContent);
// Leerzeichen vor <br /> einfuegen.
// Sonst wird das letzte Wort einer Zeile und das erste Wort
// des nachfolgenden Zeile als ein Wort erkannt
$articleContent = str_replace("<br />", " <br />", $articleContent);
$output = "";
$words = explode(" ",$articleContent);
$wordsCount = count($words);
if ($wordsCount < $wordsPerArticle) $wEnd = $wordsCount;
else $wEnd = $wordsPerArticle;
for ($w=0;$w<$wEnd;$w++) {
$output .= $words[$w]." ";
}
// Leerzeichen entfernen am Anfang und Ende des Strings
$output = trim($output);
$isCloseParagraph = substr($output,-4);
$link = '<a href="'.rex_getUrl($articleId).'">alles lesen</a>';
$newString = $link.'</p>';
$teile = explode("<!--2o4gub44##split-->", $output); //SQUIRRELFRANK
$output = $teile[0];
if ($isCloseParagraph == '</p>') {
$output = substr_replace($output,$newString,-4);
}
else {
$output .= $newString;
}
print '<li>'.$output.'</div></li>'; //SQUIRRELFRANK
}
}
print '</ul>'; //SQUIRRELFRANK
vielen lieben Dank
SquirrelFrank
Code: Alles auswählen
<h1>Neuigkeiten in und über Sachsen</h1>
<ul class="teaser">
<li>
<h1>neue meldug, neue meldung!</h1>
<div class="news-kurz-text">
<p>der kurze, aber spritzige text… nur hier erhätlich </p>
</div>
<a href="index.php?article_id=25">
alles lesen
</a>
</p>
</div>
</li>
</ul>
</div>
Code: Alles auswählen
print '<li>'.$output.'</div></li>'; //SQUIRRELFRANK
vg,
andreas
Als schoene Loesung wuerde ich sagen bau ein extra Feld fuer den Teaser ins eingabe/ausgabe modul ein. oder nimm das Beschreibungsfeld. Sollte sowieo der knackig kurze Text sein den du eh haben willst!
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
Unter Metadaten/Sonstigen kannst du eine Beschreibung eingeben, gedacht fuer das Meta-Feld description. Das sollte sowieso dein Teaser-Text rein fuer die Suchmaschinen, insofern kannst du das auch zur Darstellung verwenden.
Wenn du die Artikel listest kannst du ein
machen um eben dieses Beschreibungsfeld auszugeben.
$meinArtikelOO steht in dem Fall fuer ein Artikel Objekt das du z.B. in einem Array hast oder wie auch immer.
Wenn du die Artikel listest kannst du ein
Code: Alles auswählen
echo $meinArtikelOO->_description;
$meinArtikelOO steht in dem Fall fuer ein Artikel Objekt das du z.B. in einem Array hast oder wie auch immer.
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
Das, was ich noch geändert habe ist folgendes: den kurzen artikel hab ich einfach das DIV weggenommen, und ich hab das eine div aus
print '<li>'.$output.'</li>';
herausgenommen. dafür hab ich eine zeile weiter oben
$output .= '</p>'.$newString;
ein </p> anstatt der if-else verzweigung eingesetzt.
lg. SquirrelFrank
print '<li>'.$output.'</li>';
herausgenommen. dafür hab ich eine zeile weiter oben
$output .= '</p>'.$newString;
ein </p> anstatt der if-else verzweigung eingesetzt.
lg. SquirrelFrank