Modul mit Textausgabe mit TineMCE editor im Frontenf

Gesperrt
Andrej.S
Beiträge: 1
Registriert: Di 16. Okt 2012, 15:35
Kontaktdaten:

Modul mit Textausgabe mit TineMCE editor im Frontenf

Beitrag von Andrej.S » Di 16. Okt 2012, 16:48

Hallo Leute,

ich habe folgendes Problem. Ich habe ein Modul in dem mir in Frontend Texte ausgegeben werden. Diese Text werden unter Content -> Artikel -> Konfiguration geschrieben. Dazu habe ich für das Modul in der Eingabe die Code geschrieben. Für die textarea binde ich den Tiny_MCE - Editor damit ich die Text für das Frondend editieren kann

Das ist die Eingabe für das Modul

Code: Alles auswählen

echo  '<script  src="/contenido/external/wysiwyg/tinymce3/jscripts/tiny_mce/tiny_mce.js" type="text/javascript"></script>';
echo '<script type="text/javascript">
tinyMCE.init({
        theme : "advanced",
        mode : "textareas",
        theme_advanced_toolbar_location : "top"
});
</script>';

echo "<h1>Slider Konfiguration</h1><br/>";
echo  '<h2>Text 1:</h2> <br /> <textarea width="400" height="300" name="CMS_VAR[10]">CMS_VALUE[10]</textarea><br/><br/><hr />';
echo  '<h2>Text 2:</h2><br /> <textarea name="CMS_VAR[20]">CMS_VALUE[20]</textarea><br/><br/><hr />'; 
echo  '<h2>Text 3:</h2> <br /> <textarea width="400" height="300" name="CMS_VAR[30]">CMS_VALUE[30]</textarea><br/><br/><hr />';

Das ist die Ausgabe für das Module

Code: Alles auswählen

<?php

   $slide = array(); 
   
   $slide[1] = "CMS_VALUE[10]";
   $slide[2] = "CMS_VALUE[20]";
   $slide[3] = "CMS_VALUE[30]";

   $slider = '<div id="s1">';
//print_r($slide); 
foreach ($slide as $key => $val) {
    if (!empty($val)) {
        $slider .= '<div class="slide">' . $val . '</div>';
    }
}

$slider .= '</div>';

echo $slider;

   
?>

In der Ausgabe ist ein jQuery-slider-plugin eingebunden das mir die Texte nacheinander.

Wenn ich aber in dem Text ein link reinbau dann zeigt oder ein anderes Tag in dem doppelte Anführungszeichen vorkommen, dann wirde die Webseite überhaupt nicht anzeigt .

Und in den Contenido Fehlerlog wird dieser Fehler angezeigt
[16-Oct-2012 14:41:10 UTC] PHP Parse error: syntax error, unexpected T_STRING in cms/front_content.php(926) : eval()'d code on line 150

Hat jemand eine Idee was ich machen kann?
Ich bedanke mich im Voraus !
Viel Grüße

Andrej

yodatortenboxer
Beiträge: 424
Registriert: Do 22. Jan 2004, 14:45
Wohnort: Kölpinsee auf Usedom
Kontaktdaten:

Re: Modul mit Textausgabe mit TineMCE editor im Frontenf

Beitrag von yodatortenboxer » Mo 22. Okt 2012, 13:33

Hallo Andrej,

Laut con_code sieht dann dein Code wie folgt im Output aus:

Code: Alles auswählen

<?php

       $slide = array();
       
       $slide[1] = \"<p>fafeaef</p>\";
       $slide[2] = \"<p>xbxfby</p>\";
       $slide[3] = \"<p>dff<a href=\"http://www.url.de/\">drd</a>bxf</p>\";

       $slider = \'<div id=\"s1\">\';
    //print_r($slide);
    foreach ($slide as $key => $val) {
        if (!empty($val)) {
            $slider .= \'<div class=\"slide\">\' . $val . \'</div>\';
        }
    }

    $slider .= \'</div>\';

    echo $slider;

       
    ?>
Wird hier nun noch ein stripslashes gemacht, ist die gewisse Zeile mit der URL dann so

Code: Alles auswählen

 $slide[3] = "<p>dff<a href="http://www.url.de/">drd</a>bxf</p>";
Was natürlich eindeutig zu dem Fehler führt.

Wieso machst du den Tiny denn in den Modulinput?
Entweder muss du dann im Input bei den Variablen noch herumprobieren, vieleicht mit addslashes() oder addcslashes() oder htmlspecialchars() usw.,
Oder du machst den Tiny in den Output.

Ich habe einmal ein jQueryAccordeon gemacht siehe hier:
http://forum.contenido.org/viewtopic.php?f=60&t=32154
Da ist der Tiny im Output. Vieleicht kannst du dir da was abschauen.
Schöne Grüße von Usedom
Ralf

Gesperrt