^_^
Hallo
Für dieses spezielle Problem kanns Du vielleicht folgendes anwenden (ungetestet)
Im Frontend werden alle leeren Zeilenumbrüche zu "<BR />" ersetzt.
Edward
Für dieses spezielle Problem kanns Du vielleicht folgendes anwenden (ungetestet)
Code: Alles auswählen
<?php
/**
* CONTENIDO MODUL - OUTPUT
*/
$Text = "CMS_HTML[1]";
if (!$edit) {
$Text = str_replace (array("<P> </P>", "<BR>"), "<BR />", $Text);
}
if ($Text != "" && $Text != " " && $Text != "<BR />") echo $Text;
unset ($Text);
?>
Edward
Ganz blöde Antwort,
Ersetzt die falsche Zeilenumbrüche und die zweite Anweisung ersetzt die großen Tags durch die kleinen. Ist abrr keine Lösung, zual Du bestimmt nicht das gefragt hast. Wie man aber aus
was ein schlechter XHTML - Witz ist und vom SPAW kommt den gültigen
macht kann ich so schnell nicht beantworten. Möglicherweise wild herumprobieren und alle Fehler sammeln die SPAW oder HTML Feld im Layout machen könnten und dann in einer Routine abfangen. Die muss auf jeden Fall aber nicht wie im obigen 'Modul' von mir im Frontend ausgeführt werden sondern im Backend, weil relativ viel Ressourcen verbrauchen wird. Im Backend braucht aber nur einmal ausgeführt werden, im Frontend immer wieder.
Vielleicht ist es sinnvoll eine solche Erweiterung mit der Funktion TagsToLower aufzurufen, die in der FAQ vergeschlagen wird:
http://www.thilo-sommer.de/PHPMyFAQ/ind ... 73&lang=de
Mehr kann ich im Moment nicht sagen
Gruss, Edward
Code: Alles auswählen
$Text = str_replace (array("<P> </P>", "<BR>", "<br>"), "<br />", $Text);
$Text = str_replace (
array("<P>", "</P>", "<A>", "</A>"),
array("<p>", "</p>", "<a>", "</a>"),
$Text
);
Code: Alles auswählen
<UL>
<LI>Listeintrag
<LI>Eintrag 2</LI></UL>
Code: Alles auswählen
<ul>
<li>Listeintrag </li>
<li>Eintrag 2</li>
</ul>
Vielleicht ist es sinnvoll eine solche Erweiterung mit der Funktion TagsToLower aufzurufen, die in der FAQ vergeschlagen wird:
http://www.thilo-sommer.de/PHPMyFAQ/ind ... 73&lang=de
Mehr kann ich im Moment nicht sagen

Gruss, Edward
Nicht das ich wüste, das sind zwei Anweisungen, beide kämmen die Variable $Text nach Suchmustern durch und ersetzen die.
Zuvor wird wie im Beitrag vorher die Variable mit dem HTML Text belegt (im Backend, genauer im Editor wird noch ein Editorfeld drumherum aufgebaut, im Frontend und Vorschau ist das der reine Inhalt)
Nach der Umwandlung wird die Variable ausgegeben, im Backend der Inhalt mit dem Editor, wobei dann keine Umwandlung stattgefunden wurde (wegen des bzw. der Tags des Editorfeldes).
Ein BBC Code... Besser wäre dann ein eigenes Typ zB "BBC_Text" schreiben dass dann eien BBC Formular aufbaut und mit dem dann eingegeben wird. Entweder im Layout direkt oder im eigenen Framefenster. Wenn ich Zeit habe (wahrscheinlich nicht diesen Monat) könnte ich das mal machen. Falls bedarf besteht.
Es gäbe noch eine Möglichkeit, FCK Editor anstatt von SPAW einzubinden (macht XHTML angeblich)und wenn Deine Redakteure es nicht als allzugroßer Rückschritt empfinden, HTML Felder des Layout schreibgeschützt zu machen (einfach das Editorfeld aus dem Layout entfernen) und dann gäbe es nur eine Möglichkeit was zu bearbeiten - über ">>Text Html" Button. Wobei dann der FCK Editor eingeblendet wird.
Hier zum Thread, ist aber keine Werbung weil es mir im Moment nicht gelingt das Ding einzubinden
Bei vielen läuft es aber.
http://contenido.org/forum/viewtopic.php?t=8114
Gruss, Edward
Zuvor wird wie im Beitrag vorher die Variable mit dem HTML Text belegt (im Backend, genauer im Editor wird noch ein Editorfeld drumherum aufgebaut, im Frontend und Vorschau ist das der reine Inhalt)
Nach der Umwandlung wird die Variable ausgegeben, im Backend der Inhalt mit dem Editor, wobei dann keine Umwandlung stattgefunden wurde (wegen des bzw. der Tags des Editorfeldes).
Ein BBC Code... Besser wäre dann ein eigenes Typ zB "BBC_Text" schreiben dass dann eien BBC Formular aufbaut und mit dem dann eingegeben wird. Entweder im Layout direkt oder im eigenen Framefenster. Wenn ich Zeit habe (wahrscheinlich nicht diesen Monat) könnte ich das mal machen. Falls bedarf besteht.
Es gäbe noch eine Möglichkeit, FCK Editor anstatt von SPAW einzubinden (macht XHTML angeblich)und wenn Deine Redakteure es nicht als allzugroßer Rückschritt empfinden, HTML Felder des Layout schreibgeschützt zu machen (einfach das Editorfeld aus dem Layout entfernen) und dann gäbe es nur eine Möglichkeit was zu bearbeiten - über ">>Text Html" Button. Wobei dann der FCK Editor eingeblendet wird.
Hier zum Thread, ist aber keine Werbung weil es mir im Moment nicht gelingt das Ding einzubinden

http://contenido.org/forum/viewtopic.php?t=8114
Gruss, Edward
Also die Version von Jan konnte ich installieren. Damit es klar wird was ich mit dem letzten Beitrag meine, das Typ CMS_HTMLHEAD lautet wie folgt (Spalte 'code' der Tabelle con_type):
Ersetzt man es durch dieses
Und am besten noch CMS_HTML auf gleiche Weise also dadurch:
So gibt es weder einen Rahmen um die HTML Titel, Subtitel und Textbereiche, noch kann man die bearbeiten, noch gibt es einen '>> Speichern' - Buttton darunter. Die einzige Möglichkeit, etwas einzugeben bleibt der Schalter '>>Headline' und ein HTML Editor der daraufhin eingeblendet wird. Sinn macht das nur wenn es der FCK Editor ist der XHTML macht.
Gruss, Edward
PS Bitte vorher Backup der Tabelle anlegen oder zumindest die ersetzte Codes speichern.
Code: Alles auswählen
/**
* CMS_HTMLHEAD
*/
$tmp = $a_content['CMS_HTMLHEAD'][$val];
$tmp = urldecode($tmp);
$tmp = AddSlashes(AddSlashes($tmp));
$tmp = str_replace("\\\'","'",$tmp);
if ($edit) {
$before="<div id=\"HTMLHEAD_".$db->f("idtype")."_".$val."\" onFocus=\"this.style.border='1px solid #bb5577'\"".
" onBlur=\"this.style.border='1px dashed #bfbfbf'\" style=\"border:1px dashed #bfbfbf\" contentEditable=\"true\">";
$editbutton = "</div><a href=\"javascript:setcontent('$idartlang','".$sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HTMLHEAD&typenr=$val")."')\">
<img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edithead.gif\" border=\"0\"></a>
<a href=\"javascript:setcontent('$idartlang','0')\"><img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_speichern.gif\" border=\"0\"></a>";
$editbutton = AddSlashes(AddSlashes($editbutton));
$editbutton = str_replace("\\\'","'",$editbutton);
$before= AddSlashes(AddSlashes($before));
$before = str_replace("\\\'","'",$before);
if ($tmp == "") {
$tmp = " ";
}
$tmp = $before.$tmp.$editbutton;}
Code: Alles auswählen
/**
* CMS_HTMLHEAD
*/
$tmp = $a_content['CMS_HTMLHEAD'][$val];
$tmp = urldecode($tmp);
$tmp = AddSlashes(AddSlashes($tmp));
$tmp = str_replace("\\\'","'",$tmp);
if ($edit) {
$before="<div id=\"HTMLHEAD_".$db->f("idtype")."_".$val."\">";
$editbutton = "</div><a
href=\"javascript:setcontent('$idartlang','".$sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HTMLHEAD&typenr=$val")."')\"><img
src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edithead.gif\"
border=\"0\"></a>";
$editbutton = AddSlashes(AddSlashes($editbutton));
$editbutton = str_replace("\\\'","'",$editbutton);
$before= AddSlashes(AddSlashes($before));
$before = str_replace("\\\'","'",$before);
$tmp = $before.$tmp.$editbutton;
}
Code: Alles auswählen
/**
* CMS_HTML
*/
$tmp = $a_content['CMS_HTML'][$val];
$tmp = urldecode($tmp);
$tmp = AddSlashes(AddSlashes($tmp));
$tmp = str_replace("\\\'","'",$tmp);
if ($edit) {
$before="<div id=\"HTML_".$db->f("idtype")."_".$val."\">";
$editbutton = "</div><a
href=\"javascript:setcontent('$idartlang','".$sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HTML&typenr=$val&lang=$lang")."')\"><img
src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edithtml.gif\"
border=\"0\"></a>";
$editbutton = AddSlashes(AddSlashes($editbutton));
$editbutton = str_replace("\\\'","'",$editbutton);
$before= AddSlashes(AddSlashes($before));
$before = str_replace("\\\'","'",$before);
$tmp = $before.$tmp.$editbutton;
}
Gruss, Edward
PS Bitte vorher Backup der Tabelle anlegen oder zumindest die ersetzte Codes speichern.