Backend Template Editor baut Fehler in das Template!

Gesperrt
acquire
Beiträge: 194
Registriert: So 13. Jun 2004, 13:24
Kontaktdaten:

Backend Template Editor baut Fehler in das Template!

Beitrag von acquire » Mi 4. Mai 2005, 08:33

Hallo,

der Template Editor überarbeitet dummer weise mein Template stehts. Seine Änderungen werden nicht sofort angezeigt (erst nachdem ich irgendwann das Template nochmal gespeichert habe).

Dadurch gibt es immer ein JavaScript Fehler, da eine Klammer entfernt wird.

Und zwar wird aus diesem, korrektem Code:

Code: Alles auswählen

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
dieser:

Code: Alles auswählen

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}
}
In der vorletzten Zeile fehlt am Ende immer die Klammer.

Meine Fragen dazu:
Wie kann man das unterbinden und warum macht der Editor das überhaupt?

Danke im Voraus, Hauke

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mi 4. Mai 2005, 09:10

Ähm welcher Template-Editor? Bzw welche Version?

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 4. Mai 2005, 11:01

ähm vermutlich bei 'ner 4.4.5 oder CVS_HEAD

class.template.php
-> function generate
->

Code: Alles auswählen

		$tmp_template['complete'] = str_replace("{", "{{", $tmp_template['complete']);
		$tmp_template['complete'] = str_replace("}", "}}", $tmp_template['complete']);
und

Code: Alles auswählen

		$tmp_template['return'] = str_replace("{{", "{", $tmp_template['return']);
		$tmp_template['return'] = str_replace("}}", "}", $tmp_template['return']);
wird das problem verursachen...
*** make your own tools (wishlist :: thx)

acquire
Beiträge: 194
Registriert: So 13. Jun 2004, 13:24
Kontaktdaten:

Beitrag von acquire » Mi 4. Mai 2005, 11:04

Contenido 4.4.5.
Der ganz normale Template Editor. Es gibt ja nur einen.

@ emergence:
Muss die die Zeilen dann auskommentieren, oder was muss ich machen um das zu verhindern?

Danke für die Mühe.

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 4. Mai 2005, 11:08

acquire hat geschrieben:@ emergence:
Muss die die Zeilen dann auskommentieren, oder was muss ich machen um das zu verhindern?
diese zeilen wurden aufgrund eines anderen bugs eingefügt...
entweder kommentierst du diese zeilen einfach aus oder in deinem javascript anstelle von }} -> } } verwenden...

wohlgemerkt ich habs jetzt nicht getestet, sag bescheid ob es überhaupt an dem liegt... falls ja -> wäre das ein bug
*** make your own tools (wishlist :: thx)

acquire
Beiträge: 194
Registriert: So 13. Jun 2004, 13:24
Kontaktdaten:

Beitrag von acquire » Mi 4. Mai 2005, 11:14

Mit dem Leerzeichen dazwischen klappt es, vielen Dank.

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mi 4. Mai 2005, 11:15

acquire hat geschrieben:Contenido 4.4.5.
Der ganz normale Template Editor. Es gibt ja nur einen.
Ähm eben nicht...es gibt weder in der 4.4.5 noch in der 4.5 einen Template-Editor. Wenn du der Meinung bist, daß es doch einen gibt, so sag mir bitte, wie du diesen aufrufst...

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 4. Mai 2005, 11:16

ich hab noch was vergessen

Code: Alles auswählen

var $tags = array('static'  =>  '{{%s}}',
müsste wenn man das auskommentiert
ebenso auf

Code: Alles auswählen

var $tags = array('static'  =>  '{%s}',
geändert werden...

wie auch immer -> bug -> verschoben
*** make your own tools (wishlist :: thx)

acquire
Beiträge: 194
Registriert: So 13. Jun 2004, 13:24
Kontaktdaten:

Beitrag von acquire » Mi 4. Mai 2005, 11:21

timo hat geschrieben:OK: Style->Layots->Layout auswählen und rechts ist dann der Editor.
Das ist kein Template, das ist ein Layout. Bitte die Terminologien einhalten, und alles wird gut ;)

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 4. Mai 2005, 11:22

@timo
fehler ist leicht zu reproduzieren

style - styleeditor

Code: Alles auswählen

function MM_preloadImages() { //v3.0 
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); 
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) 
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} 
}
einfügen - speichern -> }} wird zu }

der hit an der sache -> das betrifft jedes template das irgendwo eingesetzt wird...
*** make your own tools (wishlist :: thx)

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 4. Mai 2005, 11:35

ich hab jetzt ein wenig überlegt

Code: Alles auswählen

      $tmp_template['complete'] = str_replace("{", "{{", $tmp_template['complete']); 
      $tmp_template['complete'] = str_replace("}", "}}", $tmp_template['complete']);

ersetzen durch

Code: Alles auswählen

$tmp_template['complete'] = preg_replace("/{([A-Z0-9]+)}/i", '{{\1}}', $tmp_template['complete']);
und

Code: Alles auswählen

      $tmp_template['return'] = str_replace("{{", "{", $tmp_template['return']); 
      $tmp_template['return'] = str_replace("}}", "}", $tmp_template['return']);

ersetzen durch

Code: Alles auswählen

      $tmp_template['return'] = preg_replace("/{{([A-Z0-9]+)}}/i", '{\1}', $tmp_template['return']);
sollte auch funktionieren...
*** make your own tools (wishlist :: thx)

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mi 4. Mai 2005, 11:57

Cool, das Problem hatten wir doch auch schon anderen Stellen... wieder etwas ausgemerzt...

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

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 4. Mai 2005, 11:59

im cvs_head wurde das bereits etwas anders gelöst...
*** make your own tools (wishlist :: thx)

acquire
Beiträge: 194
Registriert: So 13. Jun 2004, 13:24
Kontaktdaten:

Beitrag von acquire » Mi 4. Mai 2005, 13:03

Wow, danke!

Gesperrt