Zum Inhalt springen

Templates gehen kaputt - völlig verzweifelt

Erstellt am 30. August 2003 · 1 Antwort · letzte Antwort am 31. August 2003

Tags: PHP, Frage

Scythe42 ·

Hallo,

so bald mein Template auf etwas über 100 Zeilen abwächst, zerstört das Backend beim Speichern den Inhalt! Ich nutze Linux, php 4.3.1, mysql 4.0.12

Hier z.B. mein Template bevor ich es speichern will:

# configure auto parser
plugin.tx_automaketemplate_pi1 {
  content = FILE
  content.file = fileadmin/template/main/index.html

  # define elements for subpart marking
  elements {
    BODY.all = 1
    BODY.all.subpartMarker = DOCUMENT_BODY
  
    HEAD.all = 1
    HEAD.all.subpartMarker = DOCUMENT_HEADER
    HEAD.rmTagSections = title
 
   TD.all = 1
  }

  # set prefix for relative paths
  relPathPrefix = fileadmin/template/main/
}

# top menu template
temp.top_menu = HMENU
temp.top_menu.entryLevel = 0
temp.top_menu.maxItems = 3

temp.top_menu.1 = GMENU
temp.top_menu.1.NO {
  XY = [1.w], [1.h]
  backColor = white

  allWrap = <td colspan="7" rowspan="3">|</td>

  1 = IMAGE
  1.file = fileadmin/template/navigation/top_left.gif |*| fileadmin/template/navigation/top_middle.gif |*| fileadmin/template/navigation/top_right.gif

  20 = TEXT
  20 {
    text.field = title
    text.case = upper
    offset = 0,13
    niceText = 1
    align = center
    fontFile = t3lib/fonts/LinotypeVetoBold.ttf
    fontSize = 12
    fontColor = black
  }
}

temp.top_menu.1.RO < temp.top_menu.1.NO
temp.top_menu.1.RO = 1
temp.top_menu.1.RO {
  10 = OUTLINE
  10 {
    textObjNum = 20
    thickness = 1,1
    color = white
  }

  11 = SHADOW
  11 {
    textObjNum = 20
    offset = 0,0
    color = white
    blur = 90
    opacity = 100
    intensity = 100
  }
}

# mid menu template
temp.mid_menu = HMENU
temp.mid_menu.special = list
temp.mid_menu.special.value = 11,12,13,14

temp.mid_menu.1 = GMENU
temp.mid_menu.1.NO {
  XY = [1.w],[1.h]
  backColor = white

  allWrap = <td>|</td>

  1 = IMAGE
  1.file = fileadmin/template/navigation/mid.gif

  20 = TEXT
  20 {
    text.field = title
    text.case = upper
    offset = 0,13
    niceText = 1
    align = center
    fontFile = t3lib/fonts/LinotypeVetoBold.ttf
    fontSize = 12
    fontColor = black
}

# body template
temp.bodyTemplate = TEMPLATE
temp.bodyTemplate {
  template =< plugin.tx_automaketemplate_pi1
  workOnSubpart = DOCUMENT_BODY

  # substitute top menu
  subparts.top_menu < temp.top_menu

  # substitute mid menu
  subparts.mid_menu < temp.mid_menu

  # substitute content
  subparts.content < styles.content.get
}

# header template
temp.headerTemplate = TEMPLATE
temp.headerTemplate {
  template =< plugin.tx_automaketemplate_pi1
  workOnSubpart = DOCUMENT_HEADER
}

# default page object
page = PAGE
page.typeNum = 0

page.20 < temp.bodyTemplate
page.headerData.10 < temp.headerTemplate

Nach dem ich nun auf Update gedrückt habe passiert folgendes: wie man siehts wächst es einfach auf 203 Zeilen an, in dem nach ein paar Zeichen der eigentlich letzen Zeile, einfach nochmal fast alles einfügt wird! Mach ich das Template etwas länger (z.B. um 20 Zeilen), verstärkt sich der Effekt immer weiter! Kürze ich das Template, indem ich Kommentar und Leerzeilen entferne klappt alles, bis es wieder etwas über 100 Zeilen lang ist. Dann tritt der gleiche Effekt wieder auf.

# configure auto parser
plugin.tx_automaketemplate_pi1 {
  content = FILE
  content.file = fileadmin/template/main/index.html

  # define elements for subpart marking
  elements {
    BODY.all = 1
    BODY.all.subpartMarker = DOCUMENT_BODY
  
    HEAD.all = 1
    HEAD.all.subpartMarker = DOCUMENT_HEADER
    HEAD.rmTagSections = title
 
   TD.all = 1
  }

  # set prefix for relative paths
  relPathPrefix = fileadmin/template/main/
}

# top menu template
temp.top_menu = HMENU
temp.top_menu.entryLevel = 0
temp.top_menu.maxItems = 3

temp.top_menu.1 = GMENU
temp.top_menu.1.NO {
  XY = [1.w], [1.h]
  backColor = white

  allWrap = <td colspan="7" rowspan="3">|</td>

  1 = IMAGE
  1.file = fileadmin/template/navigation/top_left.gif |*| fileadmin/template/navigation/top_middle.gif |*| fileadmin/template/navigation/top_right.gif

  20 = TEXT
  20 {
    text.field = title
    text.case = upper
    offset = 0,13
    niceText = 1
    align = center
    fontFile = t3lib/fonts/LinotypeVetoBold.ttf
    fontSize = 12
    fontColor = black
  }
}

temp.top_menu.1.RO < temp.top_menu.1.NO
temp.top_menu.1.RO = 1
temp.top_menu.1.RO {
  10 = OUTLINE
  10 {
    textObjNum = 20
    thickness = 1,1
    color = white
  }

  11 = SHADOW
  11 {
    textObjNum = 20
    offset = 0,0
    color = white
    blur = 90
    opacity = 100
    intensity = 100
  }
}

# mid menu template
temp.mid_menu = HMENU
temp.mid_menu.special = directory
temp.mid_menu.special.value = 1,3

temp.mid_menu.1 = GMENU
temp.mid_menu.1.NO {
  XY = [1.w],[1.h]
  backColor = white

  allWrap = <td>|</td>

  1 = IMAGE
  1.file = fileadmin/template/navigation/top_left.gif

  20 = TEXT
  20 {
    text.field = title
    text.case = upper
    offset = 0,13
    niceText = 1
    align = center
    fontFile = t3lib/fonts/LinotypeVetoBold.ttf
    fontSize = 12
    fontColor = black
}

# body template
temp.bodyTemplate = TEMPLATE
temp.bodyTemplate {
  template =< plugin.tx_automaketemplate_pi1
  workOnSubpart = DOCUMENT_BODY

  # substitute top menu
  subparts.top_menu < temp.top_menu

  # substitute mid menu
  subparts.mid_menu < temp.mid_menu

  # substitute content
  subparts.content < styles.content.get
}

# header template
temp.headerTemplate = TEMPLATE
temp.headerTemplate {
  template =< plugin.tx_automaketemplate_pi1
  workOnSubpart = DOCUMENT_HEADER
}

# default page object
page = PAGE
page.typeNum = 0

page.20 < temp.bodyTemplate
page.headerp.top_menu.1.RO < temp.top_menu.1.NO
temp.top_menu.1.RO = 1
temp.top_menu.1.RO {
  10 = OUTLINE
  10 {
    textObjNum = 20
    thickness = 1,1
    color = white
  }

  11 = SHADOW
  11 {
    textObjNum = 20
    offset = 0,0
    color = white
    blur = 90
    opacity = 100
    intensity = 100
  }
}

# mid menu template
temp.mid_menu = HMENU
temp.mid_menu.special = directory
temp.mid_menu.special.value = 1,3

temp.mid_menu.1 = GMENU
temp.mid_menu.1.NO {
  XY = [1.w],[1.h]
  backColor = white

  allWrap = <td>|</td>

  1 = IMAGE
  1.file = fileadmin/template/navigation/top_left.gif

  20 = TEXT
  20 {
    text.field = title
    text.case = upper
    offset = 0,13
    niceText = 1
    align = center
    fontFile = t3lib/fonts/LinotypeVetoBold.ttf
    fontSize = 12
    fontColor = black
}

# body template
temp.bodyTemplate = TEMPLATE
temp.bodyTemplate {
  template =< plugin.tx_automaketemplate_pi1
  workOnSubpart = DOCUMENT_BODY

  # substitute top menu
  subparts.top_menu < temp.top_menu

  # substitute mid menu
  subparts.mid_menu < temp.mid_menu

  # substitute content
  subparts.content < styles.content.get
}

# header template
temp.headerTemplate = TEMPLATE
temp.headerTemplate {
  template =< plugin.tx_automaketemplate_pi1
  workOnSubpart = DOCUMENT_HEADER
}

# default page object
page = PAGE
page.typeNum = 0

page.20 < temp.bodyTemplate
page.headerData.10 < temp.headerTemplate

Wie man sieht macht das Backend einfach die Eingaben kaputt!

- Es liegt nicht am Browser, ich habs mit IE, Mozialla, Netscape, Opera versucht. Sowohl unter Windows, Linux als auch dem Mac. Kein Unterschied

- Ich hab die Datenbank auch mal gelöscht, keine Veränderung beim Neuanlegen des Templates.

- Mit knapp 100 Zeilen kein Problem.

- Schreib ich das Template manuell in den DB, dann stimmt die Größe und es wird auch richtig angezeigt, bis ich es speichere. Dann macht das Backend es wieder kaputt.

HILFE! Ich dreh langsam durch...

Scythe42 ·

argh, zum kotzen. Ist ein Buffer-Overflow in php. Hab auf 4.3.3 geupdated und noch scheint es zu gehen.

Besteht PHP eigentlich aus etwas anderem als Bugs und Sicherheitslücken?