Hilfe - Suche - Mitglieder - Kalender
Vollansicht: Categorywalker: Zeilenumbrüche in Textareas werden nicht xHTML konform gewandelt
Forum Sefrengo.org > Bugtracker > Bugs Module, Plugins, Sonstiges
alexander
Wenn ich als Doctype xHTML eingestellt habe bei einem Layout, dann werden Zeilenumbrüche innerhalb von Textareas (z.B. beim CFLEX) nach <br> anstatt <br /> gewandelt.

@Björn: Das ging doch schon mal, warum ist das jetzt wieder rausgefolgen?
mistral
welche PHP-Version hast du auf diesem Server?
Aus meiner Sicht sollten immer <br /> erscheinen.

ZITAT
Beschreibung
string nl2br ( string string )

Gibt den string mit einem vor allen Neue-Zeile-Zeichen eingefügten '<br />' zurück.

Anmerkung: Seit PHP 4.0.5 ist nl2br() XHTML-konform. Alle Versionen vor 4.0.5 geben string mit vor allen Zeilenumbrüchen eingefügtem '<br>' statt '<br />' zurück.
alexander
ZITAT(mistral @ Mon. 20. November 2006, 23:46) *
welche PHP-Version hast du auf diesem Server?


4.4.2, das kanns aber nicht sein, da auf dem server noch etlich andere SF werkeln bei welchen das Problem nicht auftritt. erst mit der beta2 hat sich das wieder eingestellt.

aktuell behelfe ich mir das ich diese br mit der output manipulation wieder zurückwandle. eventuell liegt das an einem der module. die ausgabe kommt vom catwalk der einen mit cflex erstellte textarea ausliest und ausgibt.
mistral
liegt am catwalk. Dort werden die <br /> wieder in <br> umgewandelt:

Zeile 810
QUELLTEXT
                $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]][$walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']] = str_replace( '<br />', '<br>', $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]][$walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']] );

Zeile 828
QUELLTEXT
                $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]][$walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']] = str_replace( '<br />', '<br>', $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]][$walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']] );



Gruss
Mistral
bjoern
Ich packs dann mal ins entsprechende Forum.
gunwalt
ZITAT(mistral @ Tue. 21. November 2006, 10:08) *
liegt am catwalk. Dort werden die <br /> wieder in <br> umgewandelt:


Und wofür sind dann die Zeilen?
Kann man die einfach ausklammern?
bjoern
Ja, kann raus. Ist "historisch" gewachsen.
mistral
und ich habe noch den Titel angepasst
alexander
danke für die diagnose .... dachte mir schon fast das es an einem der module liegt.

ich weiss auch in der zwischenzeit warum das mit meiner anderen SF installationen ging. dort hatte ich eine altere version des catwalk im einsatz, bei der es den fehler nicht gab. da waren die zeilen schon auskommentiert bzw. eine gabs gar nicht.

in dieser sf installation mit der beta2 hab ich einen aktuellen catwalk verwendet und siehe da dort gibt es diese zeilen wieder.

na ich werd das jetzt mal rauskicken ...
SefrenTo
Um es nochmal genauer zu erläutern (damit nicht alle so rumsuchen müssen wie ich):

Man gehe zum Category-Modul, klicke auf den Stift. Dort suche man in der "Frontendausgabe" nach "cms_textarea". Man gelangt dann zu dem folgenden Bereich. Dort kommentiere man die 6. Zeile mittels // aus:

QUELLTEXT
1. // cms_textarea
2. case
3. $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]][$walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']] = $db_content->f( 'value' );
4. $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]][$walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']] = cmsmod_replace_bbcode( $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]][$walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']] );
5. $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]][$walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']] = nl2br( $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]][$walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']] );
6. // $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]][$walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']] = str_replace( '<br />', '<br>', $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]][$walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']] );[/b]
7. $walker_content[$i][$walker['cms_type_arr'][$walker['tmp']['content_type']]]['count']++;
break;


Warum CW früher XHTML-konformen Code produzierte und diese Funktion nun herausgenommen wurde, ist für mich nicht nachvollziehbar. Ohne diese Änderung am Modul siehts mit der Validierung schlecht aus...

Grüße!
mvsxyz
Ist diese Änderung schon in einer Version vom CW eingeflossen? Wenn nein, kann jemand eine XHTML konforme Version veröffentlichen?
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.