Discussion:
[TYPO3-german] Gridelements Accordion
Andre Sancken
2014-11-24 19:15:59 UTC
Permalink
Hallo,

habe nach diesem TUT ein Accordion erstellt.
http://t3-developer.com/typo3-installation/ter-extensions/gridelements/gridelements-basics/

Kann es auch anlegen als Content Element. Headline wird gewrappt. Aber der Content wird nicht gewrappt.

Dieser Part wird nicht ausgeführt:

# normales grid setup
tt_content.gridelements_pi1.20.10.setup {
# ID of gridelement
5 < lib.gridelements.defaultGridSetup
5 {
columns {
# colPos ID
0 < .default
0.wrap = <div class="accordion-content hidden">|</div>
}
}
}


Gruß

Andre
Andy
2014-11-24 19:33:52 UTC
Permalink
Kannst du deine Gridconfig bitte auch noch posten?
Andre Sancken
2014-11-24 19:38:46 UTC
Permalink
Na klar

backend_layout {
colCount = 1
rowCount =1
rows {
1 {
columns {
1 {
name = Accordion
colPos = 1
}
}
}
}
}

HTML:

<div class="csc-default" id="c4“>
<div class="accordion-headline icon-open“>
<h1 class="section-title">Andre</h1>
</div>
<div class="csc-default" id="c7“>
<p class="bodytext">testtext testtext </p>
</div>
</div>
Post by Andy
Kannst du deine Gridconfig bitte auch noch posten?
_______________________________________________
TYPO3-german mailing list
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Andre Sancken
2014-11-24 19:42:32 UTC
Permalink
colPos habe ich auf 0 geändert


Ich benutze auch noch ein Backendlayout von Typo3. Kann es damit zusammen hängen? Dort habe ich nur die Spalte Content mit der colPos = 0.


Mit freundlichem Gruß

Digitalartworx - André Sancken







Uhlandstr. 3a
27576 Bremerhaven


Fon +49 471 4835667
Mobil +49 171 2884953

E-Mail: ***@digitalartworx.net
Web: www.digitalartworx.net
StNr.: 75/370/00117


Diese E-Mail könnte vertrauliche und/oder rechtlich geschützte Informationen enthalten.
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Mail.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this e-mail in error) please notify
the sender immediately and destroy this e- mail. Any unauthorised copying, disclosure or
distribution of the material in this e-mail is strictly forbidden.
Post by Andre Sancken
Na klar
backend_layout {
colCount = 1
rowCount =1
rows {
1 {
columns {
1 {
name = Accordion
colPos = 1
}
}
}
}
}
<div class="csc-default" id="c4“>
<div class="accordion-headline icon-open“>
<h1 class="section-title">Andre</h1>
</div>
<div class="csc-default" id="c7“>
<p class="bodytext">testtext testtext </p>
</div>
</div>
Post by Andy
Kannst du deine Gridconfig bitte auch noch posten?
_______________________________________________
TYPO3-german mailing list
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Dr Dieter Porth
2014-11-25 07:36:05 UTC
Permalink
Post by Andre Sancken
colPos habe ich auf 0 geändert
Zur Abgrenzung von Grid-Elementen zu normalen TYPO3 Elemente soll
Gridelement negative UIDs benutzen.
Da 0 = -0 ist klar, dass es das Elment nicht erkennt.

Siehe Thread mit Titel "Extbase: Was spricht gegen negative UIDs?"
Antwort von Jo Hasenau am 4.11 hier im Forum.
Post by Andre Sancken
Ich benutze auch noch ein Backendlayout von Typo3. Kann es damit zusammen hängen? Dort habe ich nur die Spalte Content mit der colPos = 0.
Siehe oben.

Dieter
--
Dr. Dieter Porth
- Mein kleines TYPO3-Labor: http://www.mobger.de/
Jo Hasenau
2014-11-25 23:48:39 UTC
Permalink
Post by Dr Dieter Porth
Post by Andre Sancken
colPos habe ich auf 0 geändert
Zur Abgrenzung von Grid-Elementen zu normalen TYPO3 Elemente soll
Gridelement negative UIDs benutzen.
Da 0 = -0 ist klar, dass es das Elment nicht erkennt.
Das ist so nicht korrekt.
Post by Dr Dieter Porth
Siehe Thread mit Titel "Extbase: Was spricht gegen negative UIDs?"
Antwort von Jo Hasenau am 4.11 hier im Forum.
Und so steht es auch nicht in dem Thread.

Wir arbeiten bei Gridelements mit genau zwei negativen Werten, weswegen
bei der Installation das Feld colPos auf "signed" umgewandelt wird.

colPos = -1 identifiziert ein Gridelement als Kind eines Containers. Der
Container selbst wird zwar auch in tx_gridelements_container
eingetragen, aber man müsste ALLE Standard-Queries, die auf tt_content
und colPos verweisen um ein AND tx_gridelements_container = 0 ergänzen.
Weil wir das niemandem zumuten wollten, haben wir uns für den negativen
Wert entschieden, um Kindelemente automatisch von diesen Queries
auszuschliessen. Das hat wiederum NICHTS mit den Werten innerhalb eines
Gridelements zu tun, denn die werden in tx_gridelements_columns
eingetragen und entsprechen den im CE-Backend-Layout festgelegten Werten.

colPos = -2 identifiziert alle Elemente, deren bisherige Spalte nicht
mehr existiert. Dies kann vorkommen, wenn man ein Seitenlayout oder ein
Gridlayout wechselt und beim neuen Layout eine Spalte fehlt, die beim
alten Layout verwendet wurde.

Alle Elemente, die sich in colPos -2 befinden verfügen gleichzeitig über
den alten Spaltenwert im Feld backupColPos, damit sie wieder erscheinen,
sobald diese Spalte wieder nutzbar ist.

HDH

Joey
--
Diversity:
Die Kunst zusammen unabhängig zu denken
The art of thinking independently together.
--
Facebook: https://www.facebook.com/johasenau
Twitter: http://twitter.com/bunnyfield
Xing: http://contact.cybercraft.de
TYPO3 cookbook (2nd edition): http://www.typo3experts.com
Dr Dieter Porth
2014-11-26 07:11:43 UTC
Permalink
Hallo Joey,
Post by Jo Hasenau
Post by Dr Dieter Porth
Post by Andre Sancken
colPos habe ich auf 0 geändert
Zur Abgrenzung von Grid-Elementen zu normalen TYPO3 Elemente soll
Gridelement negative UIDs benutzen.
Da 0 = -0 ist klar, dass es das Elment nicht erkennt.
Das ist so nicht korrekt.
Post by Dr Dieter Porth
Siehe Thread mit Titel "Extbase: Was spricht gegen negative UIDs?"
Antwort von Jo Hasenau am 4.11 hier im Forum.
Und so steht es auch nicht in dem Thread.
Danke für die Klarstellung. Dann hatte ich es offensichtlich falsch
verstanden. Sorry.

Dieter
:
--
Dr. Dieter Porth -
Mein kleines TYPO3-Labor: http://www.mobger.de/
Renzo Bauen
2014-11-24 19:44:24 UTC
Permalink
Hallo Andre
da hast Du wohl etwas falsch verstanden. Die colPos ID ist diejenige,
welche Du in der Definition des Gridelement-Layouts angibst.
Normalerweise sollte das nicht 0 sein, sondern 10 oder 50 oder sonst
was, halt das was Du bei der Definition des Layouts angibst.

D.h. Du musst die colPos ID verwenden, welche Du im PageSetup
eingetragen hast (hier die 21):
tx_gridelements.setup {
5 {
title = AccordionContainer
description = Ein horizontal öffnendes Accordion
config {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Accordions
colPos = 21
}
}
}
}
}
icon = ../fileadmin/design/Resources/Public/Images/acc-container.gif
frame = 1
}
}

Wenn Du jetzt Inhaltselemente vom Typ Accordion rein ziehst und darin
deine Elemente kreierst, dann werden diese entsprechend ausgelesen und
im FE angezeigt. Dann greift auch das Wrapping etc.
Gruss Renzo
--
conPassione gmbh
CH-3661 Uetendorf
+41 33 345 00 92
Andre Sancken
2014-11-24 19:53:10 UTC
Permalink
Also müsste es ja so klappen:

tt_content.gridelements_pi1.20.10.setup {
# ID of gridelement
5 < lib.gridelements.defaultGridSetup
5 {
columns {
# colPos ID
50 < .default
50.wrap = <div class="accordion-content hidden">|</div>
}
}
}

backend_layout {
colCount = 1
rowCount =1
rows {
1 {
columns {
1 {
name = Accordion
colPos = 50
}
}
}
}
}

Tut es aber nicht. Oder habe ich es immer noch falsch verstanden?



Mit freundlichem Gruß

Digitalartworx - André Sancken







Uhlandstr. 3a
27576 Bremerhaven


Fon +49 471 4835667
Mobil +49 171 2884953

E-Mail: ***@digitalartworx.net
Web: www.digitalartworx.net
StNr.: 75/370/00117


Diese E-Mail könnte vertrauliche und/oder rechtlich geschützte Informationen enthalten.
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese Mail.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this e-mail in error) please notify
the sender immediately and destroy this e- mail. Any unauthorised copying, disclosure or
distribution of the material in this e-mail is strictly forbidden.
Post by Renzo Bauen
Hallo Andre
da hast Du wohl etwas falsch verstanden. Die colPos ID ist diejenige,
welche Du in der Definition des Gridelement-Layouts angibst.
Normalerweise sollte das nicht 0 sein, sondern 10 oder 50 oder sonst
was, halt das was Du bei der Definition des Layouts angibst.
D.h. Du musst die colPos ID verwenden, welche Du im PageSetup
tx_gridelements.setup {
5 {
title = AccordionContainer
description = Ein horizontal öffnendes Accordion
config {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Accordions
colPos = 21
}
}
}
}
}
icon = ../fileadmin/design/Resources/Public/Images/acc-container.gif
frame = 1
}
}
Wenn Du jetzt Inhaltselemente vom Typ Accordion rein ziehst und darin
deine Elemente kreierst, dann werden diese entsprechend ausgelesen und
im FE angezeigt. Dann greift auch das Wrapping etc.
Gruss Renzo
--
conPassione gmbh
CH-3661 Uetendorf
+41 33 345 00 92
_______________________________________________
TYPO3-german mailing list
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Renzo Bauen
2014-11-24 20:05:21 UTC
Permalink
Hallo Andre
ja, da findet gridelements wohl den Zusammenhang zwischen den beiden
Definitionen nicht.
D.h. wenn Du dein GridElement nicht im PageTSSetup definiert hast,
sondern als "normales" Backendlayout dann hast Du das Problem, dass das
Lyout irgend eine fortlaufende ID bekommt, so wie jeder Datensatz in
TYPO3. D.h. es ist nicht sicher, ob die in deinem Beispiel gewählte "ID
of gridelement" wirklich die 5 ist. Gridlements braucht diese ID um zu
wissen, welchen Teile zusammen gefügt werden müssen!

Ich mache deshalb meine Definitionen immer im PageTSSetup, so kann ich
selber bestimmen, wie die "ID of gridelement" und dann greift der Code
mit dem Wrapping auch an der richtigen Stelle!
Gruss Renzo
--
conPassione gmbh
CH-3661 Uetendorf
+41 33 345 00 92
Andre Sancken
2014-11-24 20:09:56 UTC
Permalink
AHHH….Jetzt hab ich es kapiert. Bei mir hat es die ID=1. Jetzt funktioniert es. Danke schön
Post by Renzo Bauen
Hallo Andre
ja, da findet gridelements wohl den Zusammenhang zwischen den beiden
Definitionen nicht.
D.h. wenn Du dein GridElement nicht im PageTSSetup definiert hast,
sondern als "normales" Backendlayout dann hast Du das Problem, dass das
Lyout irgend eine fortlaufende ID bekommt, so wie jeder Datensatz in
TYPO3. D.h. es ist nicht sicher, ob die in deinem Beispiel gewählte "ID
of gridelement" wirklich die 5 ist. Gridlements braucht diese ID um zu
wissen, welchen Teile zusammen gefügt werden müssen!
Ich mache deshalb meine Definitionen immer im PageTSSetup, so kann ich
selber bestimmen, wie die "ID of gridelement" und dann greift der Code
mit dem Wrapping auch an der richtigen Stelle!
Gruss Renzo
--
conPassione gmbh
CH-3661 Uetendorf
+41 33 345 00 92
_______________________________________________
TYPO3-german mailing list
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Ralf-Rene Schröder
2014-11-24 22:54:33 UTC
Permalink
Post by Renzo Bauen
Ich mache deshalb meine Definitionen immer im PageTSSetup, so kann ich
selber bestimmen, wie die "ID of gridelement" und dann greift der Code
mit dem Wrapping auch an der richtigen Stelle!
und als Zusatztipp um den Code noch lesbarer zu haben
nutze ich dann eigentlich fast immer Alias Angaben,
um nicht immer nach der ID suchen zu müssen

Beispiel: mynamespace_accoordion_01
(mynamespace_ um Kollisionen mit anderen die die gleiche Idee haben zu
vermeiden, und das _01 um verschieden Variationsmöglichkeiten zu haben)

page TSconfig:
(oder auch gerne über einen FileProvider ausgelagert in Dateien)

tx_gridelements.setup {
mynamespace_accoordion_01 {
title = AccordionContainer (mynamespace_accoordion_01)
description = Ein horizontal öffnendes Accordion
config {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Accordions
colPos = 50
}
}
}
}
}
icon = ../fileadmin/design/Resources/Public/Images/acc-container.gif
frame = 1
}
}


template TSsetup:
(ebenfalls gerne ausgelagert in Dateien)

tt_content.gridelements_pi1.20.10.setup {
mynamespace_accoordion_01 < lib.gridelements.defaultGridSetup
mynamespace_accoordion_01 {
columns {
# colPos ID
50 < .default
50.wrap = <div class="accordion-content hidden">|</div>
}
}
}
--
image[FORMAT] - Ralf-René Schröder
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format
Loading...