Vererben von Bildern mit bestimmter listNum

  • harry7922 harry7922
    Sternenflotten-Admiral
    0 x
    171 Beiträge
    0 Hilfreiche Beiträge
    07. 10. 2009, 12:47

    Hallo zusammen,

    ich habe ein Problem mit dem vererben von Bildern über das Media-Array.

    Generell werden die Bilder vererbt - daran liegt es nicht, daher nun die ausführliche Beschreibung:

    Ich habe auf jeder Seite zwei Bereiche, in denen sich seitenspezifische Bilder befinden.
    Zum einen ganz groß im Header und zum anderen ein kleines Bild über dem Content.
    Da sich nun das Header-Bild fast nicht ändert, greife ich dieses als listNum=1 ab und das Content-Bild als listNum=0.

    Nun stellen wir uns folgenden Seitenbaum vor:

    - root
    - - Ebene1-Seite1
    - - Ebene1-Seite2
    - - - Ebene2-Seite2.1
    - - - Ebene2-Seite2.2
    - - - Ebene2-Seite2.3
    - - Ebene1-Seite3
    - - Ebene1-Seite4
    - - Ebene1-Seite5

    Ich definiere nun auf Ebene1 für jede Seite ein Bild mit listNum 0 und 1 -> sprich im Media-Feld sind zwei Bilder hinterlegt.

    Auf Ebene2 definiere hinterlege ich in jeder Seite nur noch ein Bild -> also nur listNum 0 gibt es auf diesen Seiten. (Es ist aber möglich, dass hier auch der Header mit listNum=1 neu definiert wird!)

    Wenn ich mir nun Ebene2-Seite2.1 beispielsweise ansehe, zeigt er mir das Bild über dem Content an. Allerdings vererbt er den Header (listNum=1) nicht von der Ebene1-Seite2 nach unten!

    Wie kann ich so eine Vererbung bewerkstelligen?

    Hier der entsprechende TS:

    [TS]## Header [Begin]## Dynamisches Header mit Vererbung
    lib.headerImage = IMG_RESOURCE
    lib.headerImage.file.import = uploads/media/
    lib.headerImage.file.import.data = levelmedia: -1, slide
    lib.headerImage.file.import.listNum = 1
    lib.headerImage.stdWrap.wrap = <div id="headerbild" style=" background-image:url( | );"></div>
    ## Header [End]

    ## Content-Grafik [Begin]## Dynamisches ContentBild mit Vererbung
    lib.contentImage = IMG_RESOURCE
    lib.contentImage.file.import = uploads/media/
    lib.contentImage.file.import.data = levelmedia: -1, slide
    lib.contentImage.file.import.listNum = 0
    lib.contentImage.stdWrap.wrap = <img src=" | " />
    ## Content-Grafik [End][/TS]

    Kann mir jemand von euch einen Tipp geben?

    Vielen Dank!

    Liebe Grüße
    Hardy


  • 1
  • kunovwd kunovwd
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    23. 08. 2010, 13:49

    Hallo Zusammen,

    schade das offensichtlich Niemand was dazu sagen kann....
    Ich habe das selbe Problem.... ;-)

    Viele Grüße,
    Ralf

    [quote="harry7922"]

    Hallo zusammen,

    ich habe ein Problem mit dem vererben von Bildern über das Media-Array.

    Generell werden die Bilder vererbt - daran liegt es nicht, daher nun die ausführliche Beschreibung:

    Ich habe auf jeder Seite zwei Bereiche, in denen sich seitenspezifische Bilder befinden.
    Zum einen ganz groß im Header und zum anderen ein kleines Bild über dem Content.
    Da sich nun das Header-Bild fast nicht ändert, greife ich dieses als listNum=1 ab und das Content-Bild als listNum=0.

    Nun stellen wir uns folgenden Seitenbaum vor:

    - root
    - - Ebene1-Seite1
    - - Ebene1-Seite2
    - - - Ebene2-Seite2.1
    - - - Ebene2-Seite2.2
    - - - Ebene2-Seite2.3
    - - Ebene1-Seite3
    - - Ebene1-Seite4
    - - Ebene1-Seite5

    Ich definiere nun auf Ebene1 für jede Seite ein Bild mit listNum 0 und 1 -> sprich im Media-Feld sind zwei Bilder hinterlegt.

    Auf Ebene2 definiere hinterlege ich in jeder Seite nur noch ein Bild -> also nur listNum 0 gibt es auf diesen Seiten. (Es ist aber möglich, dass hier auch der Header mit listNum=1 neu definiert wird!)

    Wenn ich mir nun Ebene2-Seite2.1 beispielsweise ansehe, zeigt er mir das Bild über dem Content an. Allerdings vererbt er den Header (listNum=1) nicht von der Ebene1-Seite2 nach unten!

    Wie kann ich so eine Vererbung bewerkstelligen?

    Hier der entsprechende TS:

    [TS]## Header [Begin]## Dynamisches Header mit Vererbung
    lib.headerImage = IMG_RESOURCE
    lib.headerImage.file.import = uploads/media/
    lib.headerImage.file.import.data = levelmedia: -1, slide
    lib.headerImage.file.import.listNum = 1
    lib.headerImage.stdWrap.wrap = <div id="headerbild" style=" background-image:url( | );"></div>
    ## Header [End]

    ## Content-Grafik [Begin]## Dynamisches ContentBild mit Vererbung
    lib.contentImage = IMG_RESOURCE
    lib.contentImage.file.import = uploads/media/
    lib.contentImage.file.import.data = levelmedia: -1, slide
    lib.contentImage.file.import.listNum = 0
    lib.contentImage.stdWrap.wrap = <img src=" | " />
    ## Content-Grafik [End][/TS]

    Kann mir jemand von euch einen Tipp geben?

    Vielen Dank!

    Liebe Grüße
    Hardy
    [/quote]

  • Michaelh74 Michaelh7...
    Jedi-General
    0 x
    1519 Beiträge
    0 Hilfreiche Beiträge
    24. 08. 2010, 10:04

    In Deinem Content Image Part, nimm lieber IMAGE anstatt IMG_RESOURCE dann kannst Du Dir den img tag wrap sparen, da T3 das für Dich erledigt.

    Wenn ich 2 Bilder aus den Seiteneigenschaften benötige, ist die Extension second media field ganz gut. Funktioniert analog zum media field. Aber damit wirst Du unabhängig von der listnum da es hier immer 0 ist.

    Viele Grüße
    Michael

  • kunovwd kunovwd
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    24. 08. 2010, 13:10

    [quote="Michaelh74"]
    In Deinem Content Image Part, nimm lieber IMAGE anstatt IMG_RESOURCE dann kannst Du Dir den img tag wrap sparen, da T3 das für Dich erledigt.

    Wenn ich 2 Bilder aus den Seiteneigenschaften benötige, ist die Extension second media field ganz gut. Funktioniert analog zum media field. Aber damit wirst Du unabhängig von der listnum da es hier immer 0 ist.

    Viele Grüße
    Michael
    [/quote]

    Hallo Michael,

    danke für den Tipp!
    Allerdings verstehe ich jetzt nicht wirklich, wie dass das oben gezeigte Problem beseitigt?
    Habe die Extension mal installiert... verstehe aber nicht, wie ich jetzt z. B. gezielt nur das zweite Bild anspechen kann (wenn listNum da ja jetzt IMMER 0 ist)...
    Hhhmm... der Sinn erschließt sich mir ehrlich gesagt nicht ganz...

    Wie gesagt, ich möchte WAHLWEISE ein, zwei oder kein Bild in Media (Resourcenfeld) eintragen, respektive abfragen können...
    Das geht damit (mit "second media field") wohl auch nicht, oder übersehe ich wieder was...?

    Viele Grüße,
    von Ralf

  • harry7922 harry7922
    Sternenflotten-Admiral
    0 x
    171 Beiträge
    0 Hilfreiche Beiträge
    24. 08. 2010, 20:31

    Hi Ralf,

    ich habe das Prblem so gelöst dass ich listNum 1 schaue ob es auf der aktuellen Seite befüllt ist. Wenn nicht, dann greife ich das Bild aus einer definierten Ebene ab. Der TS für listNum 0 ist wie im ursprünglichen Post.

    1. lib.headerImage = COA
    2. lib.headerImage.10 = IMG_RESOURCE
    3. lib.headerImage.10.file.import = uploads/media/
    4. lib.headerImage.10.file.import.data = page:media
    5. lib.headerImage.10.file.import.listNum = 1
    6. lib.headerImage.10.stdWrap.if.isTrue{
    7. data = page:media
    8. listNum = 1
    9. }
    10. lib.headerImage.10.stdWrap.wrap = <div id="headerbild" style=" background-image:url( | );"></div>
    11. lib.headerImage.20 = IMG_RESOURCE
    12. lib.headerImage.20.file.import = uploads/media/
    13. lib.headerImage.20.file.import.data = levelmedia: 2, slide
    14. lib.headerImage.20.file.import.listNum = 1
    15. lib.headerImage.20.stdWrap.if.isFalse{
    16. data = page:media
    17. listNum = 1
    18. }
    19. lib.headerImage.20.stdWrap.wrap = <div id="headerbild" style=" background-image:url( | );"></div>

    Grüße
    Hardy

  • kunovwd kunovwd
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    25. 08. 2010, 13:33

    Hallo Hardy,

    vielen Dank für den Tipp!
    Ich habe mal versucht es auf meine Aufgabenstellung hin anzuwenden...
    Leider funktioniert es bei mir immer noch nicht :-(
    Wenn ich nur eine Grafikdatei in "media" eintrage (das erste ist für das Headerbild reserviert, das zweite soll als Hintergrundbild herhalten), dann ist im 60er Objekt ein leeres wrap die folge (also wie im wrap angegebenen, nur ohne filename)...
    Auszug Qelltext: [b]body{ background-image: url(uploads/media/);[/b]

    Also der Dateiname wird nicht geholt und natürlich ist in der Eltern-Seite eine HG-Grafik hinterlegt (also zwei Bilder im Resourcenfeld)!

    Mein Code:

    1. page {
    2. headerData {
    3. 90 = COA
    4. 90 {
    5. wrap = <style type="text/css"><!--| --></style>
    6.  
    7. 50 = TEXT
    8. 50 {
    9. data = page:media
    10. listNum = 1
    11.  
    12. stdWrap.if.isTrue{
    13. data = page:media
    14. listNum = 1
    15. }
    16.  
    17. stdWrap.wrap = body{ background-image: url(uploads/media/|); background-repeat: repeat-y; background-position: center 1 }
    18. }
    19.  
    20. 60 = TEXT
    21. 60 {
    22. data = levelmedia: 2, slide
    23. listNum = 1
    24. stdWrap.if.isFalse{
    25. data = page:media
    26. listNum = 1
    27. }
    28. stdWrap.wrap = body{ background-image: url(uploads/media/|); background-repeat: repeat-y; background-position: center 2 }
    29. }
    30. }

    Ich verzweifel immer mehr daran... :-(

    Vielleicht muss ich tatsächlich eine extension dafür nehmen oder was könnte ich übersehen haben?
    Oder ich bin schlicht zu blöde für Typo3 #angry#

    Viele Grüße,
    Ralf

  • kunovwd kunovwd
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    25. 08. 2010, 13:49

    [quote="kunovwd"]
    Oder ich bin schlicht zu blöde für Typo3 #angry#
    [/quote]

    Na sag ich doch... ich bin nur zu blöde für diesen Job...

    Es geht nun, nachdem ich den Parameter auf -2 an statt auf 2 gesetzt habe! ;-)

    1. data = levelmedia: -2, slide


    Danke Euch allen noch mal!!!

    Viele Grüße,
    Ralf

  • harry7922 harry7922
    Sternenflotten-Admiral
    0 x
    171 Beiträge
    0 Hilfreiche Beiträge
    25. 08. 2010, 13:53

    Hallo Ralph,

    ich versuche mal Dir zu helfen (Hab auch schon länger nichts mehr mit TS gemacht).

    Ich würde anstatt bei den 50er und 60er ein TEXT-Element zu verwenden ein IMG_RESOURCE Objekt verwenden wie in meinem Beispiel.
    Das IMG_RESOURCE Objekt gibt auch nur einen kompletten Pfad zu einer Datei zurück - daher solltest Du das TEXT Objekt nicht benötigen.

    Hoffe es klappt...

    Grüße
    Hardy

  • kunovwd kunovwd
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    25. 08. 2010, 14:43

    [quote="harry7922"]
    ich versuche mal Dir zu helfen (Hab auch schon länger nichts mehr mit TS gemacht).

    [/quote]

    Hallo Hardy,

    vielen Dank nochal für Deine Hilfe!
    Ich habe es wie gesagt denn nun doch noch ans Laufen bekommen...
    Aber beim nächsten mal werde ich das mal mit dem Image-Objekt versuchen... denn das scheint die Sache zu vereinfachen (das leuchtet mir ein)....

    DANKE!

    Viele Grüße,
    Ralf

  • 1