Druckversion des Themas

Hier klicken um das Topic im Orginalformat anzusehen

Forum Sefrengo.org _ Bugs Module, Plugins, Sonstiges _ Categorywalker: Zeilenumbrüche in Textareas werden nicht xHTML konform gewandelt

Geschrieben von: alexander Mon. 20. November 2006, 14:36

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?

Geschrieben von: mistral Mon. 20. November 2006, 23:46

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.

Geschrieben von: alexander Tue. 21. November 2006, 08:58

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.

Geschrieben von: mistral Tue. 21. November 2006, 10:08

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

Geschrieben von: bjoern Tue. 21. November 2006, 11:58

Ich packs dann mal ins entsprechende Forum.

Geschrieben von: gunwalt Tue. 21. November 2006, 12:46

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?

Geschrieben von: bjoern Tue. 21. November 2006, 13:19

Ja, kann raus. Ist "historisch" gewachsen.

Geschrieben von: mistral Tue. 21. November 2006, 17:41

und ich habe noch den Titel angepasst

Geschrieben von: alexander Tue. 21. November 2006, 18:11

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 ...

Geschrieben von: SefrenTo Thu. 28. May 2009, 00:37

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!

Geschrieben von: mvsxyz Thu. 28. May 2009, 08:38

Ist diese Änderung schon in einer Version vom CW eingeflossen? Wenn nein, kann jemand eine XHTML konforme Version veröffentlichen?

Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)