Zum Inhalt springen

Fehlerhaftes parseFunc-Zuweisung?

Erstellt am 17. Juni 2005 · 1 Antwort · letzte Antwort am 20. Juni 2005

Tags: Frage

sun-e ·

Ich habe folgendes Problem. Ich habe für Layout "normal" oder "1" je ein unterschiedliches Layout erstellt. Nun musste ich feststellen, daß in meinem "bodytext" der komplette Text nacheinander geschrieben wurde. Also die Umbrücke, etc. aus dem RTE wurden ignoriert. Also habe ich mein Skript um eine Kopie des "tt_content.text" in eine Variable modifiziert. Das Layout wird meinen Wünschen angepasst und am Ende soll die Variable zurückkopiert werden. Leider klappt das nicht, weil es zu CType-Errors kommt.

tt_content.text = COA
tt_content.text.10 = CASE
tt_content.text.10.key.field = header_layout
tt_content.text.10.1 = TEXT
tt_content.text.10.1.field = header 
tt_content.text.10.1.wrap = <div id="blockhead"><table width="150" height="17" border="0" cellspacing="0" cellpadding="0"><tr><td width="10"><img src="fileadmin/images/block-head-leftedge.gif" width="10" height="17" alt="" /></td><td width="130" class="blockhead">|</td><td width="10"><img src="fileadmin/images/block-head-rightedge.gif" width="10" height="17" alt="" /></td></tr></table></div>
tt_content.text.10.default = TEXT
tt_content.text.10.default.field = header 
tt_content.text.10.default.wrap = <div id="introheader"> | </div>

tmp_tt_content_text < tt_content.text
tt_content.text >
tt_content.text.20 = CASE
tt_content.text.20.fieldRequired = bodytext
tt_content.text.20.key.field = header_layout
tt_content.text.20.1 = TEXT
tt_content.text.20.1.field = bodytext
tt_content.text.20.1.wrap = <div id="blockcontent">|</div><div id="blockbottom"><img src="fileadmin/images/block-buttom.gif" width="150" height="10" alt="" /></div>
tt_content.text.20.default = TEXT
tt_content.text.20.default.field = bodytext
tt_content.text.20.default.wrap = <div id="introcontent"> | </div>
tt_content.text.20.parseFunc < tmp_tt_content_text.20.parseFunc
tt_content.text.20.editIcons < tmp_tt_content_text.20.editIcons

Das Problem scheint allein ind er Zeile 22 und vermutlich in Form einer falschen Schreibweise zu liegen, oder?

Ich habe mich anhand Robert Meyers Vorlage orientiert:

lib.stdheader >
lib.stdheader = CASE
lib.stdheader {
  key.field = header_layout
  default = TEXT
  default.field = header
  default.wrap = <div id="introheader"> | </div>
  1 = TEXT
  1.field = header
  1.wrap = <div id="blockhead"><table width="150" height="17" border="0" cellspacing="0" cellpadding="0"><tr><td width="10"><img src="fileadmin/images/block-head-leftedge.gif" width="10" height="17" alt="" /></td><td width="130" class="blockhead">|</td><td width="10"><img src="fileadmin/images/block-head-rightedge.gif" width="10" height="17" alt="" /></td></tr></table></div>
}


tmp_tt_content_text < tt_content.text
tt_content.text >
tt_content.text = COA
tt_content.text.10 < lib.stdheader
tt_content.text.20 = TEXT
tt_content.text.20 {
  field = bodytext
  fieldRequired = bodytext
  wrap = <div id="introtext"> | </div><br />
  parseFunc < tmp_tt_content_text.20.parseFunc
  editIcons < tmp_tt_content_text.20.editIcons
}

Falls die Frage aufkommt, warum diese Lösung bezüglich Layout "default" und "1" anstrebe - das ist mein kleiner Workaround für das Problem

#25745

sun-e ·

Nach langem suchen, habe ich den Fehler gefunden. Man muß die parsfun jeweils pro CASE zuweisen:

tt_content.text.20.1.parseFunc < tmp_tt_content_text.20.parseFunc
...
tt_content.text.20.default.parseFunc < tmp_tt_content_text.20.parseFunc