[TYPO3-german] Fragen zur neuen Grid View

JoH asenau info at cybercraft.de
Thu Jan 27 11:02:44 CET 2011


Am 27.01.2011 10:35, schrieb Philipp Holdener:
> Am 27.01.11 10:01, schrieb Hendrik:
>> komisch... geht das nur im internet explorer? *LACH*
>> oder muss man das aktivieren?
>>
>
> im FF gehts hier auch nicht! :(

Es geht auch in allen anderen Browsern (noch) nicht, weil wir dieses 
Feature bis zum Release nicht einbauen konnten.

Das Video zeigt einen Protypen auf Basis einer Extension, die mit XCLASS 
direkt auf TYPO3 4.3 zugeschnitten wurde. In dem Fall war das einfacher 
zu implementieren, weil wir keine Rücksicht auf den Core an sich nehmen 
mußten.

Wir gehen aber davon aus, daß das ein Feature für 4.6 sein wird.

> Hab das jetzt mal ausprobiert mit dem Introduction Package..
> Die Grid fürs Backend gehen wirklich kinderleicht zum erstellen.
> Aber wie das im FE dann läuft weiss ich nicht.
>
> Bei Templavoila hast du ja in der DS/TS alles definiert (Welches html
> muss verwendet werden, wo kommt was hin, wie sieht das BE Layout aus etc).
>
> Man muss ja jetzt TYPO3 sagen dass es für Grid X das machen/nehmen muss
> und für Grid Y das!?

Das ist im Prinzip recht einfach. Ich bin im Moment dabei mich mit Doku 
und Tutorial zu beschäftigen, was aber noch ein paar Tage dauern kann.

Hier kurz vorab eine grobe Hilfestellung:

Wenn Du ein Grid erzeugst, hat das je nach Breite und Höhe maximal x * y 
Zellen. Normalerweise fängt man für colPos bei 0 an zu zählen und erhält 
so z.B. für ein 4x4 Grid maximal 16 Zellen.

Jetzt mußt Du das im Frontend lediglich per TypoScript übernehmen.
Je nachdem, ob Du mit eigenen Markern oder mit automaketemplate 
arbeitest, sollten die Marker/IDs im HTML Template so angelegt werden, 
daß für jede mögliche colPos ein Marker vorhanden sein kann, der aber 
immer gleich heißen sollte.

in dem Fall also z.B. COLUMN0, COLUMN1, ... , COLUMN15

Jetzt kannst Du das im Template so umsetzen (hier mal ohne 
automaketemplate):

page.10 = TEMPLATE
page.10 {
   template = FILE
   template {
     file.cObject = CASE
     file.cObject {
       key.field = backend_layout
       key.ifEmpty.data = levelfield:-2, backend_layout_next_level, slide
       default = TEXT
       default.dataWrap = fileadmin/templates/default_{field:layout}.html
       1 = TEXT
       1.dataWrap = fileadmin/templates/variant1_{field:layout}.html
       # ... #
       15 = TEXT
       15.dataWrap = fileadmin/templates/variant15_{field:layout}.html
     }
   }
   marks {
     COLUMN0 < styles.content.get
     COLUMN1 < styles.content.get
     COLUMN1.select.where = colPos = 1
     # ... #
     COLUMN15 < styles.content.get
     COLUMN15.select.where = colPos = 15
   }
}

File hat seit 4.5 stdWrap properties. Daher kann man das als cObject 
umsetzen.

Im key wird zunächst geschaut, ob es ein eigenes Backend-Layout für die 
Seite gibt. Falls nicht wird geschaut, ob vielleicht ein "von oben" 
vererbtes Backend-Layout vorhanden ist. Je nach Auswahl wird entweder 
das passende Layout oder der Default gezogen.

In allen Fällen wird dazu noch das Frontend-Layout mit berücksichtigt, 
indem es in den Dateinamen eingebaut wird (default_0.html, ... , 
default_n.html). Du kannst also für jede über Backend-Layout ausgewählte 
Variante X weitere Varianten vorhalten.

für jeden möglichen Marker wird in diesem Fall das Original-Setup von 
styles.content.get verwendet und lediglich die colPos angepasst.

Natürlich kann man da pro Spalte noch einen Haufen anderer Dinge 
anpassen, die ggf. wiederum in Abhängigkeit vom gewählten Backend-Layout 
in Kombination mit dem Frontend-Layout gesteuert werden.

Ich hoffe das reicht als Ansatz, weiteres gibt's später im Tutorial.

Frohes Schaffen

Joey

-- 
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!)
Dieter Nuhr, German comedian
Xing: http://contact.cybercraft.de
Twitter: http://twitter.com/bunnyfield
TYPO3 cookbook (2nd edition): http://www.typo3experts.com


More information about the TYPO3-german mailing list