setcontent is not defined

Gesperrt
Nuevo
Beiträge: 41
Registriert: Mo 7. Mär 2005, 14:18
Wohnort: Hamburg
Kontaktdaten:

setcontent is not defined

Beitrag von Nuevo »

Hallo,
diesen Fehler bekomme ich im Firefox (1.0.3), wenn ich eine Seite bearbeiten möchte. Texte einngeben funktiniert leider mit diesem Browser gar nicht:-(

Bei der Seite dreht es sich um die Beispielseite, die mitgeliefert wurde.

Im IE(6.0.2) funktioniert es so halb.
Anbei die ein paar Screenshots der Fehlermeldungen:
IE:
Bild

Firefox:
Bild

Hat jemand eine Idee? Kann man den Editor abstellen und statt dessen Formularfelder benutzen?

Danke und viele GRüße
Tobi
Arno Simon
Beiträge: 158
Registriert: Di 2. Sep 2003, 18:10
Kontaktdaten:

Beitrag von Arno Simon »

Hallo Tobi,

die Forumssuche mit

setcontent firefox

liefert wenigstens 2 Artikel welche Dir weiterhelfen könnten. Einfach nur mit

setcontent

gesucht, erhälst Du 38 Artikel. Einfach mal schauen, ob da schon was für Dich dabei ist...

Viele Grüße

Arno
Kaum macht man's richtig, schon funktioniert's...
Feedback ist wichtig! Undank ist der Welten lohn!!
Rechtschreibfehler sind ein Geschenk an die Allgemeinheit!
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Suche nicht weiter, Firefox 1.0.3 ist sch***. Aufgrund eines Security-Updates funktioniert HTML-Area nicht mehr.

Firefox 1.0.2 verwenden und hoffen, dass sich das in FF 1.0.4 wieder gelegt hat.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Nuevo
Beiträge: 41
Registriert: Mo 7. Mär 2005, 14:18
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Nuevo »

vielen Dank für den Hinweis auch auf die "Suchfunktion", die ich übrigens genutzt hatte...
HerrB hatte recht.. es liegt am Firefox 1.0.3. Gibts da schon workarrounds bzw. ne idee wie ich die Seiten im FF bearbeiten kann?

Danke und viele Grüße
T o b i
Nuevo
Beiträge: 41
Registriert: Mo 7. Mär 2005, 14:18
Wohnort: Hamburg
Kontaktdaten:

Ungalublich

Beitrag von Nuevo »

Der Grund warum das ganze nicht mal auf IE bei mir richtig funktioniert ist folgender.
Contenido parst in meinen Quellcode im Editor diesen Code

Code: Alles auswählen

<script type="text/javascript">

        /* Check if submenuItem is existing
           and mark it */
           
        if ( parent.frames["right_top"].document.getElementById("c_3") ) {
            menuItem = parent.frames["right_top"].document.getElementById("c_3");
            parent.frames["right_top"].sub.click(menuItem);
        }
        
    </script> 
<script language="javascript">

// searches the classname in the td above or the tr above
function getCellClass(element) {

    var el = document.getElementById(element);
    var cell = el.offsetParent;

    // if there is a classname in the td return the classname
    if ( cell.className != '' ) {
        return cell.className;
    }

    // set a flag in this td
    if ( cell.id == '' ) {
       cell.id = 'yes';
       var flg = 'yes'
       
    } else {
       var flg = cell.id;
       
    }

    //else go to the tagname table above   and search dowen for the tr tags
    while (el.tagName != 'TABLE') {
          el = el.offsetParent;
    }


    var elements = el.getElementsByTagName('TR');

    //go thrue all tr tags
    for (var row in elements) {

        if (isNaN(elements[row])) {
             var cells = elements[row].getElementsByTagName('TD');
             for (var id in cells) {
                 if(isNaN(cells[id])){

                   // check if the flg(td cell) is in this tr    if true return the calssname
                   if (cells[id].id==flg&&elements[row].className != '') {
                       return elements[row].className;
                   }
                 }
             }

        }




    }



    return false;
}


function setcontent(idart, act) {

        var a = document.getElementsByTagName("*");
        var str = '';
        var aId = '';
        var dcoElementCnt = 0;

        // loop through all elements
        for (var i=0; i < a.length; i++) {
                aId = a[i].id;
                aIdPrefix = aId.substr(0,4);

                // search for the id which containes HTML
                if (aIdPrefix == 'HTML') {

                        // check if its an 'contentEditable' Field
                        if (a[i].isContentEditable == true) {

                                 // read out the content
                                 var aContent = a[i].innerHTML;

                                 // split the idname in data - datas 0 is the Fieldname   2 is the typeid
                                 var data = aId.split("_");

                                 if ( aContent == "" ) {
                                    aContent = "!!";
                                    
                                 } else {

                                    // if there is an | in the text set a replacement chr because we use it later as isolator
                                    while( aContent.search(/\|/) != -1 ) {
                                        aContent = aContent.replace(/\|/,"§%%§");
                                    }
                                 }
                                 
                                 // build the string which will be send
                                 str += idart +'|'+ data[2] +'|'+ aContent +'|'+ data[0] +'||';

                        }
                        
                        
                        
                        
                        
                }

        }
        
        // set the string
        document.forms.editcontent.data.value = str;

        // set the action string
        if ( act != 0 ) {
            document.forms.editcontent.action = act;
        }

        // if there are 3 arguments, the className has to be seached
        if(arguments.length > 2){

            //search the class of the above element
            var classname = getCellClass(arguments[2]);

            if ( classname ) {
                document.forms.editcontent.con_class.value = classname;
            }
        }
        
        // submit the form
        document.forms.editcontent.submit();
        
}

</script>
<script src="http://cms.kwb-elbe.de/external/mozile/mozileLoader.js" type="text/javascript"></script>
.

Ich habe in meinem Template aber den kompletten Seitenkopf also vom html bis zum Body in einem Inklude was ich mit include(blabal) einfüge.
Warum ich das mache? Ganz einfach.
Da man leider in Contenido Templates nicht verschachteln kann lagere ich alle statischen Elemente der Seite in inkludes aus. Das hat den Vorteil, dass ich nur ein einer Stelle Änderungen machen brauche und nicht an allen Templates im Contenidoeditor.

Viele Grüße
Tobi

PS:
Firefox funktioniert dennoch nicht :-(
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Das geht aber nicht, denn Contenido muß seine Scripte innerhalb der Head- und Bodytags plazieren. Das ist kein Bug, denn wie soll Contenido wissen, daß die Head- und Bodytags bei dir aus einem Include kommen?
Gesperrt