Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

"Weiterlesen"- bzw. "read more"-Link deutlicher machen?

Eingetragen von hQuadrat (17)
am 02.09.2006 - 18:22 Uhr in
  • Allgemeines zu Drupal

Nach dem einen gelösten Problem folgt das Nächste... :)

Sicherlich kennt hier (fast) jeder die Seite von Spiegel.de, nehme ich einfach mal an :)
Wenn man auf deren Startseite geht, dann erscheinen ebenso Artikel, die mit Teasern angezeigt werden. Der für mich markante Unterschied: Direkt am Ende des Teasers nach dem zuletzt angezeigten Wort erscheint ein Link "mehr...".
Hier finde ich, ist es direkt ersichtlich, dass der Artikel an dieser Stelle nicht abgeschlossen ist und man durch Klicken auf den entsprechenden Link den gesamten Artikel angezeigt bekommt.

Auf meiner Seite (http://www.hquadr.at) erscheinen, wie wohl bei den meisten Drupal-Installationen, am unteren Rand des Teasers ein kleiner Balken mit Optionen und der Anzeige der Kategorien, welcher der Artikel zugeordnet ist.
Wie mich meine Seitenbesucher hingewiesen haben und ich auch selbst finde: man muss sehr genau hinsehen, dass der Artikel noch länger ist.

Wie kann ich etwas vergleichbares, wie Spiegel.de es macht, schaffen? Meinetwegen statt "mehr..." eben "[...]" möglichst hinter dem zuletzt im Teaser angezeigten Wort? Hat jemand eine Idee?

Wäre dies hier: http://www.drupalcenter.de/node/1315
eventuell eine Lösung bzw. die von quiptime anderswo genannten Module aggregator2 und excerpt eine mögliche Lösungsmöglichkeit? Aus den entsprechenden Dokumentationen werd ich irgendwie nicht schlau...

Ich benutze Drupal 4.7.3 mit dem "Meta Theme" (http://drupal.org/node/43376)

Danke für Eure Tipps...
hquadrat

‹ Meta-Community mit Drupal? simples newsletter-anmeldung für Gäste ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Teaser nicht themeable

Eingetragen von md (3717)
am 02.09.2006 - 18:43 Uhr

Wenn der Teaser 'themable' wäre, könnte man die Funktion überschreiben. Ist er aber leider nicht, wenn ich das richtig sehe.
Sieh: http://api.drupal.org/api/4.7/group/themeable
Vielleicht geht es, wenn man theme_node überschreibt. Schau ich mir bei Gelegenheit mal an.

Aggregator2 nützt dir hier gar nichts und das excerpt Modul erzeugt die Teaser nicht automatisch.

md - drupalcenter
-----------------
www.mdwp.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

theme_node

Eingetragen von md (3717)
am 02.09.2006 - 18:53 Uhr

Ich hab mir das hier - http://api.drupal.org/api/4.7/function/theme_node - mal angesehen.
Wenn man die Fuunktion in der template.php überschreibt, müsste das gehen.

md - drupalcenter
-----------------
www.mdwp.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Übers Ziel hinaus geschossen

Eingetragen von md (3717)
am 03.09.2006 - 15:00 Uhr

Da bin ich ein wenig übers Ziel hinausgeschossen.

Es geht auch einfacher. Schreib folgenden Code in die node.tpl.php Datei deines Themes:

<?php if (!$is_front): ?>

  <div class="content">
   <?php print $content ?>
  </div>
<?php endif; ?>

<?php if ($is_front): ?>

  <div class="content">
   <?php print $content . '... <a href="/node/' . $node->nid. '">mehr </a>' ?>
  </div>
<?php endif; ?>

Jetzt musst du noch dafür sorgen, dass der 'normale' read-more Link nicht mehr auftaucht.
Da ich das gerade für meine Site - www.go-with-us.de - auch mache, kommt die Lösung dazu bald.

md - drupalcenter
-----------------
www.mdwp.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Read-more Link

Eingetragen von md (3717)
am 03.09.2006 - 16:01 Uhr

So gehts. Schreib in deine template.php folgendes:

<?php
function phptemplate_links($links = array(), $delimiter = ' | ') {
 
/**
* catches the theme_links function and calls back a link.tpl.php file to determine the layout
*/
 
return _phptemplate_callback('links', array('links' => $links, 'delimiter' => $delimiter));
}
?>

Jetzt erzeug eine links.tpl.php und schreib da folgendes rein:

<?php
$delimiter
= "|";
// Display the left cap of the 'button bar'
print "&raquo; ";
$link_count = count($links);
$current = 1;

foreach ( $links as $lnk ) {
   
$key = strstr($lnk, 'Weiterlesen');  // does a search in the link
   
if ($key == FALSE) {
        print
$lnk; 
    }
  
// Only print the delimiter if not the last link
   
if ( $current < $link_count and $current > 1 ) {
        print
' '.$delimiter.' ';
    }
   
$current++;
}
?>

Diesen Code benutze ich jetzt auf www.go-with-us.de. Musst du bei dir evtl. Anpassungen machen.
Z.B. "Weiterlesen" durch "read-more" übersetzen.

Als Basis hierfür diente mir dieser Thread im Handbuch von drupal.org:
http://drupal.org/node/44708

md - drupalcenter
-----------------
www.mdwp.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo md, Vielen vielen Dank

Eingetragen von hQuadrat (17)
am 04.09.2006 - 01:18 Uhr

Hallo md,

Vielen vielen Dank für die Hinweise! Ich werde das gleich nachher noch ausprobieren.
Irgendwie habe ich da wohl nach den falschen Stichworten gesucht gehabt.

Grüße, hQuadrat

--
www.hquadr.at

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo nochmals... Irgendwie

Eingetragen von hQuadrat (17)
am 10.09.2006 - 02:10 Uhr

Hallo nochmals...

Irgendwie funktioniert Deine Lösung für mich nicht so optimal - oder ich mache da etwas falsch (?) und kenne mich da in PHP/CSS zu wenig aus... Entweder erscheinen bei mir die Links dann überall (also auch in Beiträgen, die schon auf Vollansicht sind) oder es gibt Fehler in der Darstellung meiner Seite. Der alte Link ließ sich zudem nicht ausblenden oder es verschwanden anstelle des einzelnen "Weiterlesen"-Links gleich alle folgenden Links (Kategorien, Kommentare zu dem entsprechenden Artikel).
Vorläufig werde ich nun wohl erst mal nach einer anderen Lösung suchen, z.B. die "Weiterlesen"-Links farblich hervorheben - sofern ich das bei dem relativ komplexen Theme, das ich verwende, irgendwie zustande bekomme... Faktisch steht der Link ja bereits da und wird korrekt dargestellt, nur ist er - so wie es auf meiner Seite momentan noch zu sehen ist - relativ leicht zu übersehen, wie mir meine Seitenbesucher berichtet hatten. Mal sehen, ob ich das hinbekomme und es dann wenigstens ein wenig deutlicher wird, dass der Artikel (so wie er auf der Startseite angezeigt wird) noch nicht komplett ist...

Dennoch erstmal vielen Dank für Deine Hilfe - ich werde damit weiter herumprobieren auf einer lokalen Installation, die nicht im Web erscheint. Vielleicht finde ich ja noch den "Haken" :)

Grüße, hQuadrat

--
www.hquadr.at

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bessere Lösung - externes Modul

Eingetragen von hQuadrat (17)
am 13.11.2006 - 11:57 Uhr

Hallo,
ich wollte noch kurz auf eine recht geniale Lösung dieses Problemchens hinweisen - recht "einfach" und funktioniert wirklich genial. So ist es auch recht einfach, den "alten" read more bzw. Weiterlesen Link auszublenden:
http://www.angrydonuts.com/the_nuisance_of_the_read_more_fl

Hier arbeitet man quasi mit einem separaten Modul anstelle der node.tpl.php - schaut es Euch bei Interesse am besten selbst an...

Grüße, hQuadrat

--
www.hquadr.at

  • Anmelden oder Registrieren um Kommentare zu schreiben

Prima

Eingetragen von md (3717)
am 13.11.2006 - 12:09 Uhr

Danke für den guten Tipp. Kommt bei Gelegenheit in unser FAQ.

md - drupalcenter
--
www.mdwp.de :: www.go-with-us.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Rauskramen

Eingetragen von Katoka (26)
am 23.04.2009 - 02:00 Uhr
Zitat:

Da dieses Theme recht alt ist will ich es mit diesem Post hervorholen und gleich fragen ob es inzwischen eine einfachere Lösung gibt. Stehe vor dem selben Problem bei meiner ersten Drupalsite und zweiten überhaupt :)

Gruß
Kato

Fünf Minuten nach dem Post hatte ich eine Idee. Hat sich also erledigt.

Mit den drei hier:

<?php if($teaser && $readmore): ?>
<a href="<?php print $node_url; ?>" title="<?php print $title ?>">Weiterlesen</a>
<?php endif; ?>

<?php
print ('http://www.homepage.de/?q=comment/reply/' . $nid . '#comment-form');
?>


<?php if ($comment_count > 0): ?>
print $comment_count;
<?php endif; ?>

Für meine Zwecke reicht es. So kann ich alles einzeln dahin packen wo ich es hinhaben will.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • How to Spend a Great Evening at Crash Online Games
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 1 Woche 1 Tag
  • Wenn die Subdomain auf
    vor 1 Woche 2 Tagen
  • ordnerstruktur
    vor 1 Woche 3 Tagen
  • Die Subdomain muß auf den
    vor 1 Woche 5 Tagen
  • Verwende doch das Tag dafür,
    vor 5 Wochen 14 Stunden
  • Guckst du hier: step by step
    vor 5 Wochen 4 Stunden
  • Guckst du hier: step by step
    vor 5 Wochen 4 Stunden
  • Ich habe ja keine Angst vor
    vor 6 Wochen 2 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 6 Wochen 4 Tagen
  • Vielen Dank erst einmal, aber
    vor 6 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250290
Registrierte User: 20516

Neue User:

  • RollingSlots
  • Wolf Dab
  • Scottteday

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 23 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association