Die Variablen CMS_HTML enhalten manchmal unkontrolliert Leerzeichen, <p>-Tags und , was extrem stört. Woher kommt das und wie kann man das unterbinden? Version ist 4.4.0.
Viele Grüße,
phsoho
CMS_HTML enthalten Leerzeichen, <p> u.ä.
kannst du evtl genauer beschreiben wann das autritt ? bzw. in welchem zusammenhang, welche rahmenbedingugnen zu dem zeitpunkt gegeben sind usw ?
bzw. evtl kurz wie man das Problem heraufbeschwören kann um es nachvollziehen ? hab dies in keiner der 5 4.4.0 Installationen nachvollziehen können bis jetzt :/
bzw. evtl kurz wie man das Problem heraufbeschwören kann um es nachvollziehen ? hab dies in keiner der 5 4.4.0 Installationen nachvollziehen können bis jetzt :/
Absatzzeichen und Leerstellen in Text/HTML-Boxen
Wenn im HTML-Editor ein bestehender Text gelöscht wird bleibt oft eine Absatzmarkierung zurück, die im Contenido-eigenen HTML-Editor in der Design-View nicht sichtbar ist.
Hatte aber auch schon mehrmals den Fall, das ich in der HTML-Ansicht das Text-Feld des Editors geleert habe, um beim nächsten öffnen einen Nonbreaking-Space vorzufinden.
Hintergrund ist folgender: ich habe einige Module geschrieben, die kleine Tabellen mit einem farbig hinterlegtem Header und üblichem Fliess-Text füllt. Wenn für den Header keine Infos eingetragen sind soll die farbige Tabellenzelle nicht generiert werden, oder sind beide leer, wird keine Tabelle geschrieben.
Folglich fange ich momentan folgende Fälle ab:
1. ob die Variable für den Header nur ein Space, oder
2. nur einen Nonbreaking-Space enhält, bevor ich die TD schreiben lasse. Jetzt zusätzlich einen leeren Paragraph-TAG und einen mit Nonbreaking-Space abzufangen wird dann etwas mühsam.
hängt wahrscheinlich an der Sorgfalt der HTML-Pflegekräfte, aber es ist unklar auf wieviel man da bauen kann.
Oder gibt es eine Möglichkeit dem Editor das generieren von leeren Paragraphs und unnötigen Spaces abzu gewöhnen?
Hatte aber auch schon mehrmals den Fall, das ich in der HTML-Ansicht das Text-Feld des Editors geleert habe, um beim nächsten öffnen einen Nonbreaking-Space vorzufinden.
Hintergrund ist folgender: ich habe einige Module geschrieben, die kleine Tabellen mit einem farbig hinterlegtem Header und üblichem Fliess-Text füllt. Wenn für den Header keine Infos eingetragen sind soll die farbige Tabellenzelle nicht generiert werden, oder sind beide leer, wird keine Tabelle geschrieben.
Folglich fange ich momentan folgende Fälle ab:
1. ob die Variable für den Header nur ein Space, oder
2. nur einen Nonbreaking-Space enhält, bevor ich die TD schreiben lasse. Jetzt zusätzlich einen leeren Paragraph-TAG und einen mit Nonbreaking-Space abzufangen wird dann etwas mühsam.
hängt wahrscheinlich an der Sorgfalt der HTML-Pflegekräfte, aber es ist unklar auf wieviel man da bauen kann.
Oder gibt es eine Möglichkeit dem Editor das generieren von leeren Paragraphs und unnötigen Spaces abzu gewöhnen?
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Für optionale Textboxes (kein Text -> keine Tabelle):
Habe eine function zum Textparsen gebaut. Aber nach ersten Erfahrungen macht es am meisten Sinn diese nicht in der front_content.php zu referenzieren, das gab es Probleme mit der SWF_CMS (von kombi), sondern in den Layouts. Vielleicht hat da jemand mehr Ahnung wo man sowas eleganter unterbringt.
user_def.php:
erster Block in allen Layouts:
und in der Modul-Ausgabe dann ungefähr so verwenden:
Habe eine function zum Textparsen gebaut. Aber nach ersten Erfahrungen macht es am meisten Sinn diese nicht in der front_content.php zu referenzieren, das gab es Probleme mit der SWF_CMS (von kombi), sondern in den Layouts. Vielleicht hat da jemand mehr Ahnung wo man sowas eleganter unterbringt.
user_def.php:
Code: Alles auswählen
<?php
function checkC($content1)
{
$write1 = 1;
$txtDumper = array(""," ","\r","\r\n"," ","<p></p>","<p> </p>","<p> </p>");
$DumpLen = count($txtDumper);
$content1 = zeile($content1);
for ($i = 0; $i < $DumpLen; $i++)
{
$testStr = $txtDumper[$i];
if($content1 == $testStr) {$write1 = 0;}
}
return($write1);
}
function zeile($txts1)
{
for($x = 0;$x < strlen($txts1);$x++)
{ $mz1 = $txts1[$x];
$mz2 = ord($mz1);
//ASCII Zeichen 160 aus der iso 8559-1
//macht oft totalen ärger
if($mz2 != 160)
{
$txts2 = $txts2 . $mz1;
}
}
return $txts2;
}
?>
Code: Alles auswählen
<?php
include "user_def.php";
?>
Code: Alles auswählen
<?php
$pruef1 = "CMS_HTMLHEAD[x]";
$pruef2 = "CMS_HTML[x]";
$test1 = checkC($pruef1);
$test2 = checkC($pruef2);
#Tabelle auf
if($test1 == 1 || $test2 == 1){
echo "<table width='180' border='0' cellspacing='0' cellpadding='0'>";
}
# Headline
if($test1 == 1){
echo "<tr><td height='26' class='BoxHead'>CMS_HTMLHEAD[x] </td></tr>";
}
# Fliess Text
if($test2 == 1){
echo" <tr><td valign='top' class='info'>CMS_HTML[x]<br><br></td></tr>";
}
#Tabelle zu
if($test1 == 1 || $test2 == 1){
echo "</table>";
}
?>