Zum Inhalt springen

Template Kopfzeilenbild auf jeder Seite wechseln

Erstellt am 4. Juni 2004 · 41 Antworten · letzte Antwort am 15. Dezember 2005 · Seite 1 von 3

Tags: Bilder, Frage

Mendossa ·

Hallo zusammen,

ich habe ein template erstellt und habe in der kopfzeile ein image eingebunden. nun möchte ich aber auf den unterseiten jeweils verschiedene kopfzeilen einbinden. wie mache ich das, dass die kopfzeile in dem template auf jeder unterseiteseite geändert wird?

wäre nett, wenn mir geholfen wird

mfg

mendossa

Jürgen_PXM ·

Hallo!

Ich mache soetwas mit einem Extension-Template für die jeweiligen Rubriken. Im Root wird das Haupttemplate hinterlegt bzw. dort included und in den Einzelrubriken ein zusätzliches Template angelegt, in dem die Grafiken per CSS und/oder per TS gesteuert werden. Bei mir z. B.:

page.includeCSS { 
   file1 = fileadmin/templates/global.css 
   file2 = fileadmin/templates/start.css
} 

page.10 {
   marks.IB_LOGO = IMAGE
   marks.IB_LOGO.file = fileadmin/templates/bilder/logo_start.gif

   marks.IB_HEADER = IMAGE
   marks.IB_HEADER.file = fileadmin/templates/bilder/header_start.jpg
}

So kriegt man das mit relativ geringem Aufwand und mit nur einem HTML-Template spielend hin 🙂

Gruß, Jürgen

doku ·

...und in den Einzelrubriken ein zusätzliches Template angelegt,...
...So kriegt man das mit relativ geringem Aufwand und mit nur einem HTML-Template spielend hin...

nun ja, ich würde den aufwand als ziemlich hoch bezeichnen, schließlich mußt du ja bei jeder neuen unterseite ein ts-template einbinden...

wesentlich einfacher und vor allem pflegeleichter 😉 is das hier:

temp.kopf-image = IMAGE
temp.kopf-image {
file.import.field = media
file.import = uploads/media/
file.import.listNum = 0
}

MARKER < temp.kopfimage

nun wählt man einfach bei jeder gewünschten seite im seitenheader (seitentyp: "erweitert") im feld "dateien" ein bild seiner wahl aus und fertig.

Mendossa ·

hallo,

danke für eure antworten, ich werde das mal ausprobieren.

@ doku

wenn ich das richtig sehe, muss ich in meinem HTML template einen marker setzen, oder? D. H. im html text ###kopfimage### für das bild einfügen.

gruss

Mendossa

doku ·

hab ja keine ahnung, wie du arbeitest...
jedenfalls: wenn du html-templates mit markern benutzt, dann mußt du (bezüglich meines obigen beispiels) ###MARKER### in dein html-template setzen.
und die zeile

MARKER < temp.kopfimage

muß natürlich ebenso an der richtigen stelle deines ts-templates stehen.

Fantasy ·
doku schrieb

muß natürlich ebenso an der richtigen stelle deines ts-templates stehen.

... ich dachte es ist bei typo relativ egal wo man den code hinschreibt. Dachte das ist nicht so wie bei Java, Php und Co. Oder wie ist das da ?

Jürgen_PXM ·

Ja, das stimmt schon. In welcher Reihenfolge du die Marker zuweist, ist nicht von Bedeutung. Nur innerhalb des richtigen Objekts muss es stehen, in dem das HTML-Template zugewiesen wird, also z. B.

page.10 = TEMPLATE
page.10 {
   template = FILE
   template.file = fileadmin/templates/t3_start.htm
   workOnSubpart = DOCUMENT_BODY

   marks.MARKERNAME < temp.kopfimage
   marks.MARKERNAME2 < temp.image2
}

Die temporären Namen kopfimage und image2 müssen dann natürlich vorher wie im Beispiel von doku zugewiesen werden.

Mendossa ·

hallo

tut mir leid, aber ich verstehe nur noch bahnhof. :-)

Ich habe hier nochmal mein script. kann mir jemand das script so bearbeiten, dass es funzt?

Danke

MfG

Mendossa

page = PAGE
page.typeNum = 0
page.bodyTag = <body bgcolor = "white">
page.10 = TEMPLATE
page.10 {
  template = FILE
  template.file = fileadmin/index.htm
  workOnSubpart = DOKUMENT

   temp.KOPFIMAGE = IMAGE 
   temp.KOPFIMAGE { 
      file.import.field = media 
      file.import = fileadmin/img/flash.jpg
      file.import.listNum = 0 

   marks.KOPFIMAGE < temp.KOPFIMAGE 
     } 
  


marks.INHALT = CONTENT
marks.INHALT {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0 
  }

 
marks.MENUE = HMENU 
marks.MENUE.1 = TMENU 
marks.MENUE.1 { 
   NO { 
   allWrap = <tr height="20"><td class="navi">|</td></tr> 
   ATagParams=class"navi" 
   } 
   ACT = 1 
   ACT { 
     allWrap = <tr height="20"><td class="navi_active">|</td></tr> 
     ATagParams=class="navi_active" 
   } 
}

marks.MENUE.2 = TMENU
marks.MENUE.2 {

  NO {
    allWrap = <tr height="20"><td class="navi">|</td></tr>
    ATagParams=class="navi"
    beforeImg = fileadmin/img/pfeilchentrans.gif
    beforeROImg = fileadmin/img/pfeilchenrot.gif 
    RO = 1
  }
  ACT = 1
  ACT {
      allWrap = <tr height="20"><td class="navi_active">|</td></tr>
      ATagParams=class="navi_active"
      beforeImg = fileadmin/img/pfeilchenrot.gif
  }

}
doku ·

eben, eben, genau, was ich gesagt habe... 😉

1) also, du löschst diesen block erstmal, denn der ist auch unabhängig von seiner falschen position völlig falsch:

   temp.KOPFIMAGE = IMAGE 
   temp.KOPFIMAGE { 
      file.import.field = media 
      file.import = fileadmin/img/flash.jpg 
      file.import.listNum = 0 

   marks.KOPFIMAGE < temp.KOPFIMAGE 
     }

2) das schreibst du dann vor die zeile "page.10 = TEMPLATE"

temp.kopf-image = IMAGE 
temp.kopf-image { 
file.import.field = media 
file.import = uploads/media/ 
file.import.listNum = 0 
}

3) und das schreibst du direkt nach der zeile "workOnSubpart = DOKUMENT ":

marks.KOPFIMAGE < temp.kopf-image

zur erklärung:
du definierst erstmal temp.irgendwas und kopierst es dann später mit diesem zeichen: "<" in einen marker deiner wahl. fertig.

p.s.: in meinem gestrigen beispiel hatte ich übrigens selbst einen tippfehler drin, da ich einen bindestrich in temp.kopf-image vergessen hatte.
aber das hätte dir auch nix genutzt.

Mendossa ·

jo, das habe ich soweit gemacht: das bild wird abernicht angezeigt.

wo gib ich denn den pfad zur datei an? oder muss ich das woanders angeben.

nun wählt man einfach bei jeder gewünschten seite im seitenheader (seitentyp: "erweitert") im feld "dateien" ein bild seiner wahl aus und fertig.

Tut mir leid dass ich so nerve, aber ich mache das zum ersten mal ;-(

gruss

mendossa

doku ·

es sollte aber nun funktionieren. den pfad brauchst du nicht anzugeben, denn der code besagt, daß die erste datei, die in besagtem auswahlfeld gewählt wurde, angezeigt wird.

sorry, daß ich dich verwirrt habe und jetzt noch mehr verwirre, aber ich kannte deine template-schreibweise nicht und deswegen isses wohl etwas schwerer nachzuvollziehen.

um in deiner schreibweise zu bleiben kannst du den code auch folgendermaßen einsetzen, dann kannst du es auch besser nachvollziehen:

page = PAGE 
page.typeNum = 0 
page.bodyTag = <body bgcolor = "white"> 
page.10 = TEMPLATE 
page.10 { 
  template = FILE 
  template.file = fileadmin/index.htm 
  workOnSubpart = DOKUMENT 

marks.KOPFIMAGE = IMAGE 
marks.KOPFIMAGE { 
    file.import.field = media 
    file.import = uploads/media/ 
    file.import.listNum = 0 
    }

marks.INHALT = CONTENT 
marks.INHALT { 
    table = tt_content 
    select.orderBy = sorting 
    select.where = colPos = 0 
  } 
............
.....

p.s.:
wieso hast du eigentlich die zeile

file.import = uploads/media/

einfach geändert???
wenn du geposteten code einfach nicht übernimmst, dann kann dir wirklich keiner helfen...

Mendossa ·

wenn du geposteten code einfach nicht übernimmst, dann kann dir wirklich keiner helfen...

ich habe das geändert, da ich dachte (und immernoch denke), dass das das verzeichniss ist, wo die ganzen kopfzeilenbilder liegen.

die in besagtem auswahlfeld gewählt wurde

??????

wo ist denn das besagte auswahlfeld?

ist

file.import = uploads/media/

dies kein ordner wo die bilder gespeichert werden müssen. irgendwo muss ich doch die verschiedenen kopfzeilen speichern?

so sieht derzeit mein quelltext aus:

page = PAGE 
page.typeNum = 0 
page.bodyTag = <body bgcolor = "white"> 
page.10 = TEMPLATE 
page.10 { 
  template = FILE 
  template.file = fileadmin/index.htm 
  workOnSubpart = DOKUMENT 

marks.KOPFIMAGE = IMAGE 
marks.KOPFIMAGE { 
    file.import.field = media 
    file.import = uploads/media/ 
    file.import.listNum = 0 
    } 

marks.INHALT = CONTENT 
marks.INHALT { 
    table = tt_content 
    select.orderBy = sorting 
    select.where = colPos = 0 
  } 
...............

oh man, ich glaube ich muss noch viel hierfür lernen

mfg

mendossa

doku ·

wo ist denn das besagte auswahlfeld?

wie gesagt:

im seitenheader (seitentyp: "erweitert") im feld "dateien"

wobei der "seitenheader" im deutschen "seitentitel bearbeiten" heißt, sorry...

Mendossa ·

hallo nochmal,

nun möchte ich aber auch noch ein 2. bild auf jeder seite wechseln. wie mache ich das denn jetzt?

wäre nett, wenn ihr mir da auch noch helfen könntet.

Danke

MfG

Mendossa

doku ·

das prinzip ist dasselbe, d.h. du wählst im mediafeld einfach noch ein weiteres bild aus und machst dann einen neuen marker mit demselben code wie beim kopfbild.
der einzige unterschied liegt in dieser zeile:

...
file.import.listNum = 1
...

listNum = 0 ist das erste ausgewählte bild
listNum = 1 ist das zweite ausgewählte bild

und immer so weiter... 😉