Seite 1 von 2
Zeilenlänge in Beiträgen
Verfasst: 05.08.2004 11:56
von wobo
Ich habe jetzt mal in allen möglichen Bereichen dieses Forums gesucht, habe auch die Suchfunktion mit dem Suchwort "Zeilenlänge" gefüttert. Es kam aber nichts Relevantes zu meiner Frage heraus.
Frage:
Wo oder wie kann ich die maximale Zeilenlänge in Beiträgen festlegen? Ich möchte wegen der besseren Lesbarkeit die Zeilenlänge auf 70 begrenzen, sodass im Fließtext bei der Darstellung ein Umbruch gemacht wird und nicht die ganze Fensterbreite (bei mir z.B. 1280x1024) ausgenutzt wird.
Ein harter Umbruch mittels [Return] bei der Eingabe des Beitrags ist suboptimal, da User mit kleineren Browserfenstern dann natürlich ein heilloses Durcheinander bekommen.
wobo
Verfasst: 05.08.2004 12:56
von Underhill
Los wochos,
dieser Mod sollte beide Anforderungen erfuellen
http://www.phpbb.de/viewtopic.php?t=45291
Gruss
Underhill
Verfasst: 05.08.2004 14:40
von wobo
Den Thread habe ich komplett gelesen (er taucht ja auch bei den Suchergebnissen auf). Nur verstehe ich das so, dass es bei diesem Mod um das Vermeiden von überlangen Zeilen durch zusammenhängende Buchstaben geht.
Was ich möchte, ist ein automatischer Zeilenumbruch im Fließtext nach 70 Zeichen, egal wie viele Leerstellen in der Zeile sind.
Beispiel: Der erste Absatz dieses Beitrages wird bei mir in 1.5 Zeilen dargestellt, da ich eine relativ kleine Schrift und einen großen Monitor habe. Ich möchte durch die Begrenzung der Zeilenlänge erreichen, dass er beim Leser wie folgt dargestellt wird (natürlich ohne die "harten" Zeilenumbrüche, die ich jetzt zur Demo verwendet habe):
"Den Thread habe ich komplett gelesen (er taucht ja auch bei den
Suchergebnissen auf). Nur verstehe ich das so, dass es bei diesem Mod um
das Vermeiden von überlangen Zeilen durch zusammenhängende Buchstaben
geht."
Trotzdem Dank für die Antwort.
wobo
Verfasst: 05.08.2004 15:43
von Underhill
Hmm,
warum veraenderst die nicht schon die Zellenbreite in der Ausgabe?
Gruss
Underhill
Verfasst: 05.08.2004 15:45
von jasc
Verstehe ich das richtig, dass du im Prinzip dein gesamtes Forum auf eine bestimmte Breite (z.B. 1024 Pixel) beschränken möchtest, egal mit welcher Auflösung man es aufruft?
Wenn ja, dann öffne die overall_header.tpl und suche
Code: Alles auswählen
<table width="100%" cellspacing="0" cellpadding="10" border="0" align="center">
Dort dann das 100% durch die feste Pixelzahl (z.B. 1024) ersetzen.
ACHTUNG: Das sieht dann aber nicht so toll aus, wenn man mit einer kleineren Bildschirmbreite als der angegebenen surft!
Verfasst: 05.08.2004 18:22
von wobo
Nein. Das hat nichts mit der Forumsbreite zu tun. Eine feste Breite an der Stelle anzugeben wäre nicht nur schlecht, es wäre ein Designverbrechen!
Ich möchte einfach nur Seitenbegrenzungen bei der Ausgabe des Textes haben, egal wie breit das Browserfenster ist.
Ich kann doch bei einem beliebigen Textprogramm die rechte Seitenbegrenzung einstellen. Durch die Anzahl der Zeichen, nach der ein Zeilenumbruch zu erfolgen hat. Das hat mit der Größe des Textfensters nichts zu tun.
Ich schreibe hier im Eingabefeld im Fließtext, d.h., wenn ich etwas einfüge wird die Zeile am Rand des Eingabefeldes umbrochen. Ich möchte nun bei der Ausgabe einen solchen Zeilenumbruch nach 70 Zeichen haben, unabhängig davon, ob der Rand des Fensters erreicht ist oder nicht. Das geht im EMACS z.B. durch die Aktivierung des word_wrap und der Angabe der right margin, die durch die Anzahl der Zeichen vom Zeilenanfang an ausgedrückt wird.
Underhill hat geschrieben:warum veraenderst die nicht schon die Zellenbreite in der Ausgabe
Genau das will ich ja, aber wo und wie?
Sorry, wusste nicht, dass es so schwer ist, das auszudrücken, was ich meine. Die User in meinem Forum haben mich angeschrieben, ob ich das nicht ändern könnte und es war sofort klar, was gemeint war.
wobo
Verfasst: 05.08.2004 20:08
von jasc
Hm ich verstehe zwar den Sinn dahinter nicht so ganz, aber versuche es mal wie folgt:
Öffne viewtopic_body.tpl
Suche
Code: Alles auswählen
<td colspan="2"><span class="postbody">{postrow.MESSAGE}{postrow.SIGNATURE}</span><span class="gensmall">{postrow.EDITED_MESSAGE}</span></td>
und ersetze mit
Code: Alles auswählen
<td colspan="2" width="400"><span class="postbody">{postrow.MESSAGE}{postrow.SIGNATURE}</span><span class="gensmall">{postrow.EDITED_MESSAGE}</span></td>
Wobei du die Breitenangabe halt so anpassen kannst, wie du sie haben willst.
Habs nicht getestet, ob es klappt. Vielleicht habe ich dich immer noch nicht richtig verstanden, aber das wäre nun mein letzter Vorschlag

.
Verfasst: 05.08.2004 22:39
von wobo
Nee, leider hast Du mich nicht verstanden. Ich schrieb mehrmals, dass die Zeilenlänge nichts mit der Breite des Fensters oder des Feldes zu tun hat.
Ich schrieb auch den Begriff wordwrap. Ich dachte, der sei bekannt.
OK, nochmal:
Das Anzeigefenster bei viewtopic hat keine fest definierte Breite sondern nur eine variable im Verhältnis zum Browserfenster. Von daher kann die Breite des Anzeigefeldes unter viewtopic doch garkeine Rolle bei dem spielen, was ich meine.
Ich möchte schlicht und ergreifend, dass der Text, den der Leser bei Aufruf des Beitrages sieht, nach 70 Zeichen umgebrochen wird. Das geht im Emacs, das geht unter vim im Textfenster. Das hat, ich wiederhole, überhaupt nichts mit der Breite oder Definition des Anzeigefensters zu tun sondern nur mit der Menge der Zeichen in der Textzeile.
Meine Fragestellung hat also absolut nichts mit der grafischen Aufteilung des Browserfensters zu tun sondern mit der Darstellung des Textes in diesem Fenster.
Ich kann z.B. ein xterm 100 Zeichen breit machen. In dem Moment, wo ich darin den vi(m) starte, wird der eingegebene oder aus einer Datei eingelesene Text immer bei 72 Zeichen umgebrochen, weil ich das so in der Konfiguration festlege. Das Gleiche kann ich im Emacs-Fenster machen. Da hat auch die Breite des Fensters nichts mit dem Zeilenumbruch zu tun.
Jetzt klarer? Schreib doch in einem 100 Zeichen breiten xterm mal einfach darauf los. Du wirst merken, dass der Text immer weiter fliesst bis an den Rand und dann in der nächsten Zeile. So wie hier in dem Anzeigefenster, wo Du meinen Beitrag liest. Bei mir ist z.B. das Anzeigefenster so breit, dass der folgende Absatz in der Browserdarstellung gerade einmal 2 Zeilen belegt.
Jetzt lege mal in der .vimrc eine Zeilenlänge von 70 Zeichen fest und starte dann in dem gleichen Textfenster (das nach wie vor 100 Zeichen breit ist) 'vim testfile'. Jetzt schreibe darauf los und Du wirst sehen, dass die Zeile während des Schreibens sauber nach 70 Zeichen umgebrochen wird. Aber ich gehe mal davon aus, dass Du mit dem vi(m) umgehen kannst, das ist ja Grundwissen.
Das meine ich. Nichts mit Änderung von Fensterbreiten oder Spalten. EInfache Textdarstellung. Das gibt es doch garnicht, dass so etwas Elementares mit PHP nicht möglich sein soll.
wobo
Verfasst: 06.08.2004 12:37
von jasc
wobo hat geschrieben:Aber ich gehe mal davon aus, dass Du mit dem vi(m) umgehen kannst, das ist ja Grundwissen.
Nuja ich muss dich leider enttäuschen, bin nur ein kleiner Windows-DAU

.
Schon möglich, dass sowas mit PHP möglich ist, ich bin kein Programmierer, kenne nur ein paar grundlegende Befehle.
Ich denke, ich habe dich jetzt richtig verstanden, aber weiterhelfen kann ich dir da leider nicht.
Verfasst: 06.08.2004 12:50
von Jensemann
Du kannst natürlich mit PHP den Text entsprechend umformatieren und nach x Zeichen umbrechen:
http://de2.php.net/manual/en/function.wordwrap.php
Wie du aber bereits sagtest ist ein harter Umbruch suboptimal, da stimme ich dir zu, daher gilt:
Eleganter wäre es natürlich sowas mit CSS zu lösen sofern möglich, ich denke da kannst du dich selbst drüber schlaumachen, SelfHTML existiert und funktioniert.
Es würde sich hierbei auf änderungen in den Templates bzw. der CSS Datei beschränken, das wird jemand der mit ViM oder Emacs umgehen kann sicherlich auch ohne unsere Hilfe schaffen.