Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

[gelöst] Zeichenzahl im Anrisstext

Eingetragen von netwurst (108)
am 11.12.2008 - 12:17 Uhr in
  • Anfängerfragen

Hallo, ich habe folgendes Problem:
Im Block "Neueste Kommentare" wird ein Teaser des Kommentars und darunter das Datum ausgegeben. Dieser ist mir aber zu lang und ich will einen Zeilenumbruch verhindern.
Gibt es die Möglichkeit die maximale Zeichenzahl für diesen Anrisstext zu begrenzen?
Danke im Voraus.

‹ Update Drupal5 auf Drupal6 Blog für Unterseite ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

teaser length

Eingetragen von stBorchert (6003)
am 11.12.2008 - 12:25 Uhr

Moin!
Ja, unter admin/content/node-settings.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Moin auch Stefan, danke für

Eingetragen von netwurst (108)
am 11.12.2008 - 12:36 Uhr

Moin auch Stefan, danke für die schnelle Antwort.
Werds sofort ckecken.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das wars leider auch nicht.

Eingetragen von netwurst (108)
am 11.12.2008 - 12:40 Uhr

Das wars leider auch nicht. Hier wird die Zeichenzahl für den Anrisstext in den Nodes gesetzt, ich brauch die Zeichenzahl im Block.
Ist wahrscheinlich wirklich nicht so einfach, habe schon einige Foren durchsucht und nichts entsprechendes gefunden.
Und sorry, vergessen, es geht um Drupal 6.x.

  • Anmelden oder Registrieren um Kommentare zu schreiben

theme comment block

Eingetragen von stBorchert (6003)
am 11.12.2008 - 13:14 Uhr

Ok.
Ist das eigentlich der Standard-Block? Der sollte nämlich nur Links zu den Kommentaren anzeigen und nicht den Teaser.
Wenn es der Standard-Block ist, kannst die Ausgabe des Blocks in Deinem Theme überschreiben:

<?php
function <DeinThemeName>_comment_block() {
 
$items = array();
  foreach (
comment_get_recent() as $comment) {
   
$items[] = l($comment->subject, 'node/'. $comment->nid, array('fragment' => 'comment-'. $comment->cid)) .'<br />'. t('@time ago', array('@time' => format_interval(time() - $comment->timestamp)));
  }
  if (
$items) {
    return
theme('item_list', $items);
  }
}
?>

template.php
Ansonsten hängt es davon ab, womit der Block erstellt wurde.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ah der Stefan wieder...

Eingetragen von netwurst (108)
am 11.12.2008 - 13:21 Uhr

Ah der Stefan wieder... Super!
Diese Variante hatte ich auch schon gefunden und ausprobiert, leider ohne Erfolg (war wohl für Drupal 5).
Allerdings hatte ich den cache wohl nicht gelöscht, also versuch ich es sofort nochmal und werde eine kurze Info hinterlassen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Alos, ich habe den Code

Eingetragen von netwurst (108)
am 11.12.2008 - 13:32 Uhr

Alos, ich habe den Code jetzt dementsprechend eingefügt, nichts passiert.
Ist aber meines Erachtens auch nicht verwunderlich, weil hier ja keine Änderung der Länge der Anrisstextes ersichtlich ist.
Ich denke mal dass fragment den gewünschten Parameter enthalten sollte. Da habe ich wenigstens noch etwas zum weiter suchen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

block

Eingetragen von stBorchert (6003)
am 11.12.2008 - 13:45 Uhr

Bist Du Dir wirklich sicher, dass der Block nicht durch views oder Ähnliches generiert wird? Der Standard-Block zeigt nur die Links zu den Kommentaren an (comment.module #393). 'fragment' ist dabei die Id des Kommentars.
Der teaser muss irgendwo anders herkommen. Vielleicht wird die Funktion schon im Theme überschrieben...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sicher bin ich mir da nicht,

Eingetragen von netwurst (108)
am 11.12.2008 - 14:00 Uhr

Sicher bin ich mir da nicht, aber ich habe die Views gecheckt und dort ist nichts dabei was auf den Block hindeuten würde. Ich habe den Block ja auch nur aktiviert, also sollte das schon das Standard-Teil sein.
Mir ist eben unklar, in welcher Variable die Zeichenzahl des Anrisstextes gesetzt wird. fragment ist es ja wie du schreibst nicht. Und dass die Funktion den Anrisstext generiert stimmt auf jeden Fall, wenn ich <br\><br\> setzte dann geht das auch. Nur eben die Anzahl der Zeichen...

  • Anmelden oder Registrieren um Kommentare zu schreiben

block

Eingetragen von stBorchert (6003)
am 11.12.2008 - 14:06 Uhr

Echt seltsam. Schau mal in die Datei comment.module Zeile 393. Da findest du die Funktion function theme_comment_block() mit obigem Inhalt. Da wird eine Liste erstellt, die pro Eintrag nur den Betreff des Kommentars enthält und wann der Kommentar erstellt wurde. Genau so, wie hier auf der Seite. Der Teaser muss irgendwo anders herkommen.
Poste doch mal die Funktion, in der Du <br /><br /> eingefügt hast.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hoppla, mein Fehler. Ich

Eingetragen von netwurst (108)
am 11.12.2008 - 14:06 Uhr

Hoppla, mein Fehler. Ich habe den Kpmmentar oben nochmal studiert und nun merke ich, dass ich mich wohl missverständlich ausgedrückt habe:

Zitat:

Ist das eigentlich der Standard-Block? Der sollte nämlich nur Links zu den Kommentaren anzeigen und nicht den Teaser.

Ich will die Zeichenzahl der Links begrenzen und habe das versehentlich Teaser genannt.
Aber diese Links sind eben auch Anrisstexte deren Zeichenzahl oder Ähnliches ja irgendwo festgelegt werden muss, und die würde ich gerne ändern.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hat sich wohl grad

Eingetragen von netwurst (108)
am 11.12.2008 - 14:13 Uhr

Hat sich wohl grad überschnitten...
Aber jetzt habe ich wieder einen neuen Ansatz: Wenn bei einem Kommentar kein Betreff angegeben wird, dann nimmt das System die ersten paar Buchstaben des Textes. Ich konnte noch nicht feststellen ob der Betreff auch auf eine bestimmte Länge gekürzt wird. Der Betreff wird dann als Link in dem Block dargestellt und das ist der Punkt an dem ich gerne die Zeichenzahl begrenzen würde.
Schon alleine für diesen Denkanstoß bin ich dir dankbar und werd mal sehen was da geht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Block

Eingetragen von stBorchert (6003)
am 11.12.2008 - 14:14 Uhr

argh

netwurst schrieb

Aber diese Links sind eben auch Anrisstexte deren Zeichenzahl oder Ähnliches ja irgendwo festgelegt werden muss

Nein, das sind Titel (also der Betreff von nodes/Kommentaren). Und die haben erstmal nichts mit dem Inhalt/Teaser zu tun.
Also wieder zurück zur template.php:

<?php
function <DeinThemeName>_comment_block() {
 
$items = array();
  foreach (
comment_get_recent() as $comment) {
   
$subject = $comment->subject;
    if (
strlen($subject) > 20) {
     
$subject = substr($subject, 0, 20) . '&hellip;';
    }
   
$items[] = l($subject, 'node/'. $comment->nid, array('fragment' => 'comment-'. $comment->cid)) .'<br />'. t('@time ago', array('@time' => format_interval(time() - $comment->timestamp)));
  }
  if (
$items) {
    return
theme('item_list', $items);
  }
}
?>

Das dürfte es tun.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habs grad mal getestet

Eingetragen von netwurst (108)
am 11.12.2008 - 14:20 Uhr

Ich habs grad mal getestet und es ist tatsächlich so, dass der komplette Betreff als Link im Block dargestellt wird. Habe einfach mal
0123456789012345678900123456789012345678900123456789012345678900
als Betreff eingegeben. Weil die sonstigen Betreffs immer recht kurz gefasst ware kamm es mir do vor als wären das nur Anrisse.
Also müsste ich wohl eine funktion schreiben die die Länge der links begrenzt.
Danke Stefan für deine Hilfe, jetzt bin ich um einiges schlauer.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Schon wieder

Eingetragen von netwurst (108)
am 11.12.2008 - 14:24 Uhr

Schon wieder überschnitten...
Ich denke auch das sollte es nun gewesen sein. Danke für die Funktion, man muss die Länge eben selbst begrenzen, aber so schnell hätte ich das nicht hingekriegt. Ist wie Weihnachten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sogar die 20 Zeichen sind

Eingetragen von netwurst (108)
am 11.12.2008 - 14:51 Uhr

Sogar die 20 Zeichen sind optimal!

Da ich nicht weiß wie das geht kann das Thema jetz als "gelöst" markiert werden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Als gelöst markieren

Eingetragen von r4s6 (1383)
am 11.12.2008 - 15:02 Uhr

Geh zu deinem 1. Post und klicke Bearbeiten.
Dann kannst Du im Titel (Betreff) [gelöst] einfügen, ich würd's vorne hinschreiben geht aber auch hinten. (Das kannst Nur du als eröffner machen.)

Gruss Roger

  • Anmelden oder Registrieren um Kommentare zu schreiben

Und wie geht das jetzt für den Teaser?

Eingetragen von 911 (63)
am 20.04.2009 - 21:45 Uhr

Hi,

ich möchte die Zeichenanzahl der Teaser eines Bestimmten Inhaltstypen exakt festlegen. Mit den 200 Zeichen Einstellung des Drupal Cores, sind es mal mehr, mal weniger. Meistens nach dem ersten Punkt bzw. Absatz und nicht wirklich nach 200 Zeichen. Ausserdem möchte ich direkt an den Teaser einen weiterlesen Link, nicht unterhalb des Teasers.

Kann ich das über die node.tpl.php machen?

Also Teaser exakt 200 Zeichen lang oder bis zum nöchsten leerzeichen nach 200 Zeichen.

Etwa so

Zitat:

Teasertext mit exakt 200 Zeic[...]*weiterlesen*

bzw so

Zitat:

Teasertext mit 200 Zeichen + die Zeichen bis zum nächsten Leerzeichen.*weiterlesen*

Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 2 Tagen
  • Hey danke
    vor 1 Woche 3 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 1 Tag
  • Da scheint die Terminologie
    vor 2 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 2 Wochen 5 Tagen
  • In der entsprechenden View
    vor 2 Wochen 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 5 Tagen
  • gelöst
    vor 5 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 21 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