Zum Inhalt springen

Rahmen hinzufügen

Erstellt am 2. Mai 2007 · 20 Antworten · letzte Antwort am 23. April 2008 · Seite 1 von 2

Tags: Inhaltselemente, Frage

TypOne ·

Hallo Leute,

ich habe im Seiteninhalt (Typ) einen neuen Rahmen hinzugefügt. Der Rahmen kann jetzt zwar ausgewählt werden, aber greift nicht auf meine CSS-Klasse zu. Was habe ich falsch gemacht?

Danke in Vorraus

TCEFORM.tt_content.section_frame {
     addItems.99 = Rahmen 4
}
tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
  key.field = section_fram
  99 = TEXT
  99.value = <div class="content-left">|</div>
}
TypOne ·

Ich danke Dir! Ich lach mich kaputt! Dummer Anfänger fehler!

Der erste Teil muss in die TSconfig eingefügt werden und der zweite Teil gehört in das Setup!

Apop ·

Hallo ihr Lieben,
bei mir klappt das leider nicht:

Das erste Skript schreibe ich in das TS von meiner Rootpage, das klappt.

# alle Rahmen entfernen
TCEFORM.tt_content.section_frame {
     removeItems = 1,5,6,10,11,12,20,21
}

# neuen Rahmen hinzufügen
TCEFORM.tt_content.section_frame {
     addItems.99 = layout99
     altLabels.99 = Layout 99
}

Nun schreibe ich das Folgende in mein Setup meines Root-Templates:

tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
  key.field = section_frame
  99 = TEXT
  99.value = <div class="layout99">|</div>
}

Es tut sich nichts, ich bekomme im Quellcode keinen zusätzlichen Container, wenn ich Layout 99 aktiviere.

Der Unterschied jedoch ist, wenn ich das letzte Script in die setup.txt von css_styled_content reinschreibe. Dann funktioniert das Ganze.

Hat jemand Rat?

Liebe Grüße
Jan #paralyzed#

steffenk ·

das kann nur damit zusammenhängen, das Dein Code im setup falsch platziert ist - schau mal im Template Analyzer, ob da nicht irgendwo ein Syntaxfehler ist.

kulli ·

Hallo Apop,

hast Du das Problem in den Griff bekommen?

Mir stellt sich gerade das selbe Problem...

Gruß
Kulli

Ascarion ·

Ich habe hier das gleiche Problem. Ich kann zwar neue Rahmen anlegen und im Inhaltselement auswählen, aber im FE wird der innerWrap nicht ausgegeben. Übrigens wird auch der innerWrap der anderen Rahmen nicht ausgegeben.

TSconfig:

TCEFORM.tt_content.section_frame.addItems {
     8 = Testrahmen
}

Template:

tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
  key.field = section_frame
  8 = TEXT
  8.value = <div style="border: 2px solid red;"> | </div>
}

Hat dazu mittlerweile schon jemand eine Lösung?

steffenk ·

einer der häufigsten Fehler ist, den Content über CONTENT selber zu rendern statt mit css_styled_content, denn nur das kann funktionieren (styles.content.get etc.)

Ascarion ·

Daran kann's wohl nicht liegen:

...
tpl.maintemplate.subparts.contentNormal < styles.content.get
...

Ähnliche Probleme hatten wir jedenfalls bisher nicht ...

Ascarion ·

Da taucht ja alles ganz korrekt auf... o.O

Ich habe es jetzt auch mal in einem neuen Root-Template auf einer Test-Installation getestet, und da funktioniert der gleiche Code.

Irgendo muss es da wohl noch eine Einstellung geben dass tt_content.stdWrap.innerWrap nicht berücksichtigt wird.

Ascarion ·

Im TS Object Browser sehe ich eigentlich keine Unterschiede zwischen den Templates:

[tt_content]=CASE
  [key]
  [stdWrap]
    [spaceAfter]
    [space]=0|0
    [innerWrap]
      [cObject]=CASE
        [1]=TEXT
        [5]=TEXT
        [6]=TEXT
        [8]=TEXT
          [value]=<div style="border: 2px solid red;"> | </div>
        [10]=TEXT
        [11]=TEXT
        [12]=TEXT
        [20]=TEXT
        [21]=TEXT
        [key]
...
    [dataWrap]=<a id="c{field:uid}"></a> |
steffenk ·

dann sollte auch bei frame 8 ein roter Rahmen kommen. Schau ruhig mal im BE im Source nach, ob bei frames auch das Element 8 drin ist.

Ascarion ·

Ok, wenn ich nun folgendes probiere

tt_content.stdWrap.innerWrap >
tt_content.stdWrap.innerWrap = <div style="border: 2px solid red;"> | </div>

und ich davon im FE immernoch nichts zu sehen bekomme :o kann es sein, dass Problem woanders liegt?

Ich habe nämlich direkt in der Datenbank nachgeschaut, und dort haben meine Test-Inhaltselemente unter section_frame den korrekten Wert eingetragen.
(Bezieht sich jetzt natürlich nicht auf o. g. TS.)

😢

Ascarion ·

Eine Lösung habe ich bisher leider noch nicht gefunden, aber dafür einen (leider nicht besonders eleganten) Workaround:

tt_content.text.stdWrap.innerWrap.cObject = CASE
tt_content.text.stdWrap.innerWrap.cObject {
  key.field = section_frame
  8 = TEXT
  8.value = <div style="border: 2px solid red;">|</div>
}

So muss ich mir eben den innerWrap für jeden anderen CType (wo es benötigt wird) kopieren:

tt_content.textpic.stdWrap.innerWrap < tt_content.text.stdWrap.innerWrap
Sebastian Schmal ·

also habe auch das problem mit den rahmen...

wollte sie umbenennen oder neu auf setzen, aber es klappt einfach nicht!

 # Rahmenoptionen im Bereich Typ
  section_frame {
    altLabels {
      1 = Grauer Hintergrund
      5 = Linie davor
      6 = Linie danach
      10 = einfacher Kasten
      11 = BoxBlau
      12 = BoxGrau
      20 = BoxGelb
      21 = BoxOrange
    }
  }

klappt leider nicht!

oder alle löschen und dann neue anlegen:

root (seite) => "seiteneigenschaften" => TSconfig => ganz am ende:

TCEFORM.tt_content.section_frame{   

    #vorhandene Rahmen entfernen
    removeItems = 1,5,6,10,11,12,20,21
   
    #beliebige neue Rahmen hinzufügen
    addItems.100 = neuer Rahmen1
    addItems.101 = neuer Rahmen2   
}

root (template) => "Setup" => ganz am ende:

tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
  key.field = section_frame
  99 = TEXT
  99.value = <div class="layout99">|</div>
}

versteh einfach nicht warum es nicht geht. kann mir wer helfen ?