News-Teaser: Weiterlesen direkt an den Teasertext ran?
Guten Abend,
ich möchte den Weiterlesen-Link direkt am Ende jedes News-Teaser-Textes haben und nicht durch einen Absatz trennen. Habe deswegen heute versucht, PHP zu lernen, denn weder das Forum noch meine CSS-Kenntnisse brachten mich zum Ziel. Ich benutze das News-Latest-Template in C10.4.
Jemand einen guten Hinweis für mich?
Danke, Sebastian
Erstelle ein eigenes Template
Hallo Sebastian,
am einfachsten erstellst Du ein eigenes Template auf Basis des news_latest.xxx
Ich habe mal kurz das .html5 umgebastelt. So sollte es funktionieren. Ganz unten ist der Absatz mit Ausgabe der Variablen $this->more Dort wird der Link ausgegeben. Versuche einfach mal das hier:
PHP-Code:
<div class="layout_latest block<?php echo $this->class; ?>">
<?php if ($this->hasMetaFields): ?>
<p class="info"><time datetime="<?php echo $this->datetime; ?>"><?php echo $this->date; ?></time> <?php echo $this->author; ?> <?php echo $this->commentCount; ?></p>
<?php endif; ?>
<?php if ($this->addImage): ?>
<figure class="image_container<?php echo $this->floatClass; ?>"<?php if ($this->margin || $this->float): ?> style="<?php echo trim($this->margin . $this->float); ?>"<?php endif; ?>>
<?php if ($this->href): ?>
<a href="<?php echo $this->href; ?>"<?php echo $this->attributes; ?> title="<?php echo $this->alt; ?>">
<?php endif; ?>
<img src="<?php echo $this->src; ?>"<?php echo $this->imgSize; ?> alt="<?php echo $this->alt; ?>">
<?php if ($this->href): ?>
</a>
<?php endif; ?>
<?php if ($this->caption): ?>
<figcaption class="caption"><?php echo $this->caption; ?></figcaption>
<?php endif; ?>
</figure>
<?php endif; ?>
<h2><?php echo $this->text ? $this->linkHeadline : $this->newsHeadline; ?></h2>
<div class="teaser">
<?php echo $this->teaser; ?>
<?php if ($this->text): ?>
<?php echo $this->more; ?>
<?php endif; ?>
</div>
</div>
Viel Erfolg!
"Weiterlesen" noch nicht erfolgreich
Danke für eure Antworten.
@bizon: Mit dem Margin-Bottom rückt das "Weiterlesen" ganz nah an den Teasertext, allerdings nicht mit hoch auf die letzte Teaserzeile, genau das will ich aber.
@pcartist: Wenn ich das Template nach deinem Vorschlag ändere, gibt er trotzdem folgende HTML-Struktur aus:
Code:
<div class="teaser">
<div id="idTextPanel" class="jqDnR">Teasertext
</div>
<span class="more">
<a title="Den Artikel lesen: text" href="bla.html">Weiterlesen
</a>
</span>
</div>
Da ist also noch ein div-Container, der für diesen Absatz sorgt. Ich finde im Template auch keine Zeile, die diesen Container hervorruft, weiß also gar nicht, woher der kommt. Jemand eine weitere Lösung?
Auch von mir ein Dankeschön
Auch mir hat Deine Lösung gerade weitergeholfen. Ich bin blutiger Laie, habe es aber dennoch geschafft, die Änderungen durchzuführen und schwupps war der Link am Ende des Teasertextes. Ohne Absatz.
Aber könnte man auch eine Lösung finden, damit der komplette Link (ich habe noch "weiterlesen...") auf jeden Fall in einer Zeile bleibt? Momentan gehen z.b. die Punkte in eine neue Zeile, wenn der Teasertext zu lang ist. Vielleicht durch Begrenzung der Anzahl Zeichen im Teasertext?
Vielleicht gibt es ja eine Lösung und jemand könnte Sie mir genauso gut erklären wie Sebastian seine Lösung.
Dirk