Discussion:
[TYPO3-german] title aus field:pages als Überschrift ausgeben lassen
Michael Meurer
2008-07-18 14:44:27 UTC
Permalink
Hallo zusammen.

ich bin hier mit einem Konstrukt zugange, bei dem ich nicht verstehe,
warum es nicht klappt...

In eine normalen Men? lasse ich mir den title der aktuellen Seite als
?berschrift ausgeben:
....
5 = TEXT
5.field = title
5.wrap = <h2 class="submenu-header"> | </h2>
10 = HMENU
....
Das klappt.

Dann habe ich eine sitemap, bei der ich die einzelnen Bereiche mit
special = directory
special.value.field = pages
einlese, was wunderbar klappt.

Nun m?chte ich den title der Einstiegseite aus pages ebenfalls als
?berschrift ausgeben.
Hierf?r klappt noch nicht mal der Dreizeiler, den ich oben aufgef?hrt
habe... Ich bekomme keine Ausgabe des titles der aktuellen Seite.
Das einzige, das klappt, ist das rendern des <hx>-Tags, der allerdings
leer ist...

Eine reine Textausgabe bringt mir den gesetzen Text.
Und folgendes Konstrukt bringt mir die korrekte Seiten-ID:
5 = TEXT
5.value = {TSFE:id}
5.wrap = <h3 class="sitemap-headline"> | </h3>
5.insertData = 1
Das gleiche Konstrukt mit 5.value = {TSFE:pages} gibt mir ebenfalls
einen leeren <h>-Tag aus.

Hat das evtl. mit dem Aufbau ?ber after.cObject in meiner Sitemap zu
tun? Man sollte doch meinen, dass der erste Dreizeiler in der Sitmap so
wie in dem Men? funktioneren sollte.

Ich wei? nicht weiter. Im Anschluss kommt noch ein Auszug aus dem
Sitemap-TS.
Ich sag schon mal f?r Denkanst??e danke.

Gru?
Michael



10 = HMENU
10 {
special = directory
special.value.field = pages
excludeUidList =
1 = TMENU
1 {
expAll = 1
noBlur = 1
wrap = <ul> | </ul>
NO = 1
NO {
wrapItemAndSub = <li>|</li>
ATagTitle.field = subtitle // title
after.cObject = COA
after.cObject {
wrap = <span class="extended-sitemap-info">:&nbsp; |
</span>
10 = TEXT
10.field = abstract
}
}
IFSUB = 1
IFSUB < .NO
}
--
Kontakt: http://www.michael-meurer.info/metanav/kontakt.html
Web: http://www.michael-meurer.info
Andreas Burg
2008-07-18 15:46:08 UTC
Permalink
Post by Michael Meurer
Hallo zusammen.
ich bin hier mit einem Konstrukt zugange, bei dem ich nicht verstehe,
warum es nicht klappt...
In eine normalen Men? lasse ich mir den title der aktuellen Seite als
....
5 = TEXT
5.field = title
5.wrap = <h2 class="submenu-header"> | </h2>
10 = HMENU
....
Das klappt.
Dann habe ich eine sitemap, bei der ich die einzelnen Bereiche mit
special = directory
special.value.field = pages
^^^^^^
Post by Michael Meurer
einlese, was wunderbar klappt.
Hallo Michael,

was mir hier auff?llt ist, dass du das Feld "pages" angibst, welches wahrscheinlich nicht existiert.
Damit m?sste diese Zeile die gleiche Auswirkung wie ->

special.value =

haben. Dazu steht in der TSref: If .value is not set, the default pid is the current page.

Gru? Andreas
Michael Meurer
2008-07-18 18:50:21 UTC
Permalink
Hallo Andreas,

das Feld "pages" gibt es schon.
Schau mal in phpmyadmin in die Tabelle tt_content oder in den TSOB.
Hier mal ein Auszug aus dem TSOB "Menu of subpages to these pages":

tt_content.menu.20.1.special.value.field = pages

Mal eben so, weil du sagst, dass dieses Feld wahrscheinlich nicht
existiert....
Aus diesem Feld holen sich die Typo-Sitemaps (und auch meine) den
Ausgangspunkt, von dem aus sie anzeigen sollen. Und das funtz wunderbar.

Es wird f?r mich da komisch, dass in einem normalen HMENU->TMENU ein TS wie:
5 = TEXT
5.field = title
5.wrap = <h2 class="submenu-header"> | </h2>
korrekt ausgef?hrt wird und mir auf jeder Seite den Seitentitel ausgibt.
Aber in meiner Sitemap gibt das gleiche TS-Schnipsel nur einen leeren
<hx>-Tag ausgibt...

*gr?bel*

Gru?
Michael
bernd wilke
2008-07-18 19:10:51 UTC
Permalink
Post by Michael Meurer
Hallo Andreas,
das Feld "pages" gibt es schon.
Schau mal in phpmyadmin in die Tabelle tt_content oder in den TSOB. Hier
tt_content.menu.20.1.special.value.field = pages
Mal eben so, weil du sagst, dass dieses Feld wahrscheinlich nicht
existiert....
Aus diesem Feld holen sich die Typo-Sitemaps (und auch meine) den
Ausgangspunkt, von dem aus sie anzeigen sollen. Und das funtz wunderbar.
es mag existieren, aber in tt_content ist es ein ein ganz anderer
Kontext als im typoscript, wo sich Feldnamen auf die aktuelle Seite
(Tabelle: pages) beziehen.

Beachte, dass Felder auch inklusive Tabellenname angegeben werden k?nnen.
Post by Michael Meurer
5 = TEXT
5.field = title
5.wrap = <h2 class="submenu-header"> | </h2>
korrekt ausgef?hrt wird und mir auf jeder Seite den Seitentitel ausgibt.
Aber in meiner Sitemap gibt das gleiche TS-Schnipsel nur einen leeren
<hx>-Tag ausgibt...
*gr?bel*
Gru?
Michael
bernd
--
http://www.pi-phi.de/t3v4/cheatsheet.html
Michael Meurer
2008-07-18 20:23:58 UTC
Permalink
Hallo zusammen.

Ist doch ok.

bernd wilke schrieb:
[snip]
Post by bernd wilke
es mag existieren, aber in tt_content ist es ein ein ganz anderer
Kontext als im typoscript, wo sich Feldnamen auf die aktuelle Seite
(Tabelle: pages) beziehen.
Beachte, dass Felder auch inklusive Tabellenname angegeben werden k?nnen.
[/snip]

Das war der Betugpunkt, der mir fehlte. Danke Bernd.

Das, was ich ich versucht hatte, h?tte mir aus tt_content nur die
Seiten-ID der Seite ausgeben. Kann ich nicht gebrauchen... ;-)

Ich habe jetzt folgende Situation:
Ich habe einen Sysordner, ?ber den ich mit
special = directory
special.value = id
den Einstiegspunkt f?r das Men? liefere. Dieser hat einen Namen: Men?1,
Men?2 etc.

Gefunden habe ich bisher dieses:
DB:tabelle:id:feld

Ich m?chte das hier erreichen:
Ich m?chte von jeder Seite den title aus der Tabelle Pages vom
?bergeordneten Sysordner haben:
<h3>Men?1</h3>
...<a>Men?1-Seite1</a>
...<a>Men?1-Seite2</a>

<h3>Men?2</h3>
...<a>Men?2-Seite1</a>
...<a>Men?2-Seite2</a>

usw.

Also muss ich wohl dynamisch den title von der ?bergeordneten Seite
abfragen.


Gru?
Michael
--
Kontakt: http://www.michael-meurer.info/metanav/kontakt.html
Web: http://www.michael-meurer.info
Michael Meurer
2008-07-18 20:25:09 UTC
Permalink
Oops...
Post by Michael Meurer
Hallo zusammen.
Ist doch ok.
Das sollte an Andreas gehen...
Marco Peemöller
2008-07-18 20:58:11 UTC
Permalink
Post by Michael Meurer
Ich habe einen Sysordner, ?ber den ich mit
special = directory
special.value = id
den Einstiegspunkt f?r das Men? liefere. Dieser hat einen Namen: Men?1,
Men?2 etc.
DB:tabelle:id:feld
Ich m?chte von jeder Seite den title aus der Tabelle Pages vom
<h3>Men?1</h3>
...<a>Men?1-Seite1</a>
...<a>Men?1-Seite2</a>
<h3>Men?2</h3>
...<a>Men?2-Seite1</a>
...<a>Men?2-Seite2</a>
usw.
Also muss ich wohl dynamisch den title von der ?bergeordneten Seite
abfragen.
leveltitle sollte Dir weiterhelfen, gucke mal auf:

http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/2/2/

Viele Gr??e

Marco Peem?ller
Michael Meurer
2008-07-19 09:45:35 UTC
Permalink
Hallo Marco,

das gibt mir (in meinem Fall leider) den title der Seite aus, auf der
ich mich befinde, bzw. auf der ich meine Sitemap-Elemente habe.

Und das f?r jede Sitemap gleich.

Gru?
Michael
Marco Peemöller
2008-07-19 10:29:37 UTC
Permalink
Post by Michael Meurer
Hallo Marco,
das gibt mir (in meinem Fall leider) den title der Seite aus, auf der
ich mich befinde, bzw. auf der ich meine Sitemap-Elemente habe.
Und das f?r jede Sitemap gleich.
Hast Du Dir den Link durchgelesen???

angenommen, du hast folgender Struktur:

-Rootpage
-- Sys-Ordner-Men?1
--- Men?1-Seite1
--- Men?1-Seite2
-- Sys-Ordner-Men?2
--- Men?2-Seite1
--- Men?2-Seite2

Dann bekommst du mit "leveltitle : 1" auf den Sys-Ornder-Seiten und den
Unterseiten den Titel des jeweiligen Sys-Ordners.

Viele Gr??e

Marco Peem?ller
Michael Meurer
2008-07-19 10:54:23 UTC
Permalink
Hallo Marco,

das ist soweit richtig.

Ich hatte heute morgen nach einigem Testen nochmal eine
Situationsbeschreibung gegeben.
Danach hatte ich dir geantwortet.

Ich bin davon ausgegangen, dass du meinen ersten Post auch liest.

leveltitle : 1 hat jetzt bei mir zur Folge, dass ich zwar meine vier
verschiedenen Sitmaps mit den korrekten Unterseiten habe.
Da ich aber alle vier Sitemaps auf einer(!) Seite habe, bekomme ich
zwangsl?ufig vier Mal den Titel der Seite, auf der ich bin(!), und
nicht den der Einstiegspunkte:

[quote]
get the title of the page on the first level of the rootline:

= leveltitle : 1
[/quote]

Gru?
Michael
Andreas Burg
2008-07-18 21:08:25 UTC
Permalink
Post by Michael Meurer
Ich m?chte von jeder Seite den title aus der Tabelle Pages vom
<h3>Men?1</h3>
...<a>Men?1-Seite1</a>
...<a>Men?1-Seite2</a>
<h3>Men?2</h3>
...<a>Men?2-Seite1</a>
...<a>Men?2-Seite2</a>
usw.
Also muss ich wohl dynamisch den title von der ?bergeordneten Seite
abfragen.
Ja, so sehe ich das auch.

select title where uid = pid

andreas
Andreas Burg
2008-07-18 20:03:04 UTC
Permalink
Post by Michael Meurer
Hallo Andreas,
das Feld "pages" gibt es schon.
Schau mal in phpmyadmin in die Tabelle tt_content oder in den TSOB.
tt_content.menu.20.1.special.value.field = pages
Mal eben so, weil du sagst, dass dieses Feld wahrscheinlich nicht
existiert....
Aus diesem Feld holen sich die Typo-Sitemaps (und auch meine) den
Ausgangspunkt, von dem aus sie anzeigen sollen. Und das funtz wunderbar.
5 = TEXT
5.field = title
5.wrap = <h2 class="submenu-header"> | </h2>
korrekt ausgef?hrt wird und mir auf jeder Seite den Seitentitel ausgibt.
Aber in meiner Sitemap gibt das gleiche TS-Schnipsel nur einen leeren
<hx>-Tag ausgibt...
*gr?bel*
Gru?
Michael
Hallo Michael,

sorry, war mein Fehler. Ich dachte, dass sich stdWrap "field" wenn man keine spezielle Tabelle
angibt auf die Tabelle "pages" bezieht. Jetzt sagt Bernd auch, dass es sich auf die Tabelle "pages"
bezieht
Post by Michael Meurer
aber in tt_content ist es ein ein ganz anderer
Kontext als im typoscript, wo sich Feldnamen auf die aktuelle Seite
(Tabelle: pages) beziehen.
Ist denn der Standardbezug (ohne explizite Angabe auf eine Tabelle) kontextabh?ngig?

Gru? Andreas
bernd wilke
2008-07-19 00:00:26 UTC
Permalink
Post by Andreas Burg
Post by Michael Meurer
Hallo Andreas,
das Feld "pages" gibt es schon.
Schau mal in phpmyadmin in die Tabelle tt_content oder in den TSOB.
tt_content.menu.20.1.special.value.field = pages
Mal eben so, weil du sagst, dass dieses Feld wahrscheinlich nicht
existiert....
Aus diesem Feld holen sich die Typo-Sitemaps (und auch meine) den
Ausgangspunkt, von dem aus sie anzeigen sollen. Und das funtz
wunderbar.
5 = TEXT
5.field = title
5.wrap = <h2 class="submenu-header"> | </h2>
korrekt ausgef?hrt wird und mir auf jeder Seite den Seitentitel
ausgibt. Aber in meiner Sitemap gibt das gleiche TS-Schnipsel nur einen
leeren <hx>-Tag ausgibt...
*gr?bel*
Gru?
Michael
Hallo Michael,
sorry, war mein Fehler. Ich dachte, dass sich stdWrap "field" wenn man
keine spezielle Tabelle angibt auf die Tabelle "pages" bezieht. Jetzt
sagt Bernd auch, dass es sich auf die Tabelle "pages" bezieht
Post by Michael Meurer
aber in tt_content ist es ein ein ganz anderer Kontext als im
typoscript, wo sich Feldnamen auf die aktuelle Seite (Tabelle: pages)
beziehen.
Ist denn der Standardbezug (ohne explizite Angabe auf eine Tabelle) kontextabh?ngig?
anders ergibt es doch wohl nicht viel Sinn?

wenn ich im Typoscript innerhalb von

page = PAGE
page {

}

bin habe ich ja nur einen Datensatz aus pages (bzw. pages_overlay)

wenn in der Seite mehrere tt_content-Elemente sind. wie k?nnte da denn
das Feld 'title' eindeutig sein?

Andererseits gibt es diverse funktionierende Beispiele (zb.[1]) wie man
auf Felder eines Datensatzes (tt_content, ...) zugreift ohne explizite
Tabellenangabe. Dabei befindet man sich aber immer in einer Rendering-
Definition f?r spezielle Datens?tze. Damit ist dann der Kontext und
Datensatz gegeben.

Bei der Suche nach einem Beispiel bin ich gerade ?ber [2] gestolpert wo
man dann einen Ansatz findet, mit dem Michael dann evtl. ohne select auf
den Namen der ?bergeordneten Seite zugreifen kann: Da wird auf einen
anderen als den aktuellen Datensatz referenziert indem Tabelle und Feld
angegeben wird: DB:pages:{TSFE:id}:title
{TSFE:id} greift ja unabh?ngig vom aktuellen Datensatz auf die ID der
aktuellen Seite zu. ich vermute mal dass ein {uid} in dem Beispiel
genauso funktioniert h?tte. F?r Michael der dieses Konstrukt f?r sein
Menu (Kontext sind hier: die Datens?tze der Seiten, die im Men?
referenziert werden: pages/pages_overlay aber eben nicht die aktuelle
Seite) benutzen k?nnte w?rde ich mal 'DB:pages:{pid}:title' vorschlagen.

W?r doch mal einen Versuch wert.

[1] http://support.typo3.org/snippets/c/34/
[2] http://support.typo3.org/snippets/c/21/

bernd
--
http://www.pi-phi.de/t3v4/cheatsheet.html
Michael Meurer
2008-07-19 09:35:16 UTC
Permalink
Guten Morgen zusammen.

Danke f?r deine sp?te Antwort, Bernd.
Nat?rlich auch f?r alle anderen Antworten.

Wenn ich jetzt
[snip]
5.dataWrap = DB:pages:{TSFE:id}:title
[/snip]
eingebe, erhalte ich
DB:pages:9:title
als FE-Ausgabe. 9 ist die ID der Seite, auf der ich mich befinde.
Setze ich diese Sitemap auf eine andere Seite, bekomme ich die ID der
andern Seite, klar.
Und bei vier Sitemap-Elementen bekomme ich jedes Mal die gleiche Ausgabe...

Wenn ich
[snip]
5.dataWrap = DB:pages:{pid}:title
[/snip]
eingebe, erhalte ich nur
DB:pages::title
Wobei es keinen Unterschied macht, ob es sich bei der Seite um einen
Sysordner oder um eine allgemeine Seite handelt.

H?lle, ist das kompliziert, was ich haben m?chte...
Ist aber spannend und hebt das Verst?ndnis f?r viel Dinge. :-)

Nochmal, was ich habe und was ich erreichen m?chte:

Ich habe vier Men?s, die ?ber "special = directory" und "special.value =
x" definiert sind. Diese Seiten "x" habe ich als Sysordner definiert.
Darunter halt die jeweiligen Seiten.
Dann habe ich auf der Seite "Sitemap" vier Sitemap-Elemente, die als
Einstiegspunkte jeweils den Sysordner haben, der in dem jeweiligen Men?
mit "special.value = x" festgelegt ist.

Die Sitemap fragt mit "special = directory" und "special.value.field =
pages" in tt_content:pages ab, welche Seiten-ID als Startpunkt
festgelegt ist.

F?r mein erstes Sitemap-Element hei?t das also konkret, dass mit
"special.value.field = pages" die Unterseiten der ID 23 angezeigt werden.
Die Seite mit der ID = 23 hat ja in der Tabelle "pages" einen title.
Diesen title m?chte ich in diesem Sitemap-Element als <hx>-?berschrift
?ber den Links angezeigt bekommen.
F?r mein zweites Sitemap-Element hei?t das dann, dass mit
"special.value.field = pages" die Unterseiten der ID 24 angezeigt werden.
Die Seite mit der ID = 24 hat in der Tabelle "pages" ebenfalls einen
title. Diesen title m?chte ich in dem zweiten Sitemap-Element als
<hx>-?berschrift angezeigt bekommen.

And so on...

5.data = DB:pages:23:title
5.wrap = <h3 class="sitemap-headline"> | </h3>
5.insertData = 1
funtzt soweit

Das k?nnte dann auch gerne ?ber eine Condition erfolgen. Nur habe ich
keine Condition-Deklaration gefunden, die Position der jeweiligen Seite
im BE bzw. im Seitenbaum abfragt.
Die Condition-Deklaration, die ich habe (z.B. PIDinRootline),
beeinflussen die Ausgabe in Abh?ngigkeit von der FE-Seite, auf der ich
mich befinde (Siehe Punkt 1).

Gru?
Michael
bernd wilke
2008-07-19 18:01:22 UTC
Permalink
Michael Meurer schrieb am Sat, 19 Jul 2008 11:35:16 +0200:

so on...
Post by Michael Meurer
5.data = DB:pages:23:title
5.wrap = <h3 class="sitemap-headline"> | </h3> 5.insertData = 1
funtzt soweit
wenn ich dich richtig verstanden habe hast du eigentlich vier sitemaps
mit special=directory und special.value=... (4 Werte)


also brauchst du eigentlich auch 4 Elemente in deinem Typoscript-
Template. ZB.

page {
10 = COA
10 {
10 = HMENU
10 {
special = directory
special.value = 12
1 {
:
}
}

20 < .10
20.special.value = 25

30 < .10
30.special.value = 37

40 < .10
40.special.value = 48
}
20 < styles.content.get
:
}

was spricht nun gegen das automatsiche Einf?gen f?r diese vier Men?s:
page.10.10.1.dataWrap = DB:pages:12:title - |
page.10.20.1.dataWrap = DB:pages:25:title - |
page.10.30.1.dataWrap = DB:pages:37:title - |
page.10.40.1.dataWrap = DB:pages:48:title - |

oder irgendwas in der Art. .oO(Ich muss endlich mal die ganzen Wraps
lernen)


bernd
--
http://www.pi-phi.de/t3v4/cheatsheet.html
Michael Meurer
2008-07-19 18:41:34 UTC
Permalink
Hallo Bernd
Post by bernd wilke
page.10.10.1.dataWrap = DB:pages:12:title - |
page.10.20.1.dataWrap = DB:pages:25:title - |
page.10.30.1.dataWrap = DB:pages:37:title - |
page.10.40.1.dataWrap = DB:pages:48:title - |
Viele Wege f?hren nach Rom.
An so etwas ?hnliches hatte ich schon gedacht.
Als letzte Konsequenz muss ich so was in der Art machen, auch wenn man
hierbei ggfl. eine f?nfte (und sechste) Sitemap "zu Fu?" mit der
Seiten-ID einf?gen muss.

Wenn ich
5 = TEXT
5.field = pages
eingebe, bekomme ich f?r jede Sitemap sch?n ordentlich die ID des
jeweiligen Einstiegs-Sysordner angezeigt. Das ist ja auch die ID, die
ich in der Tabelle pages abfragen muss.
Hier wird noch auf tt_content|pages zugegriffen

Ist es nicht m?glich,
whatever = DB:tabelle:id:title
irgendwie so zu schreiben, das die id dynamisch mit
whatever = DB:tabelle:{field = pages}:title

Dieser Syntax ist es nicht, das habe ich schon gemerkt.
Ich denke aber, es hat gezeigt, was ich mir erhofft habe....
Post by bernd wilke
oder irgendwas in der Art. .oO(Ich muss endlich mal die ganzen Wraps
lernen)
Hab ich parallel zu dieser Problemstellung gemacht...
Mal sehen, wie viel ich davon behalten habe....

Gru?
Michael
--
Kontakt: http://www.michael-meurer.info/metanav/kontakt.html
Web: http://www.michael-meurer.info
Leihla
2008-07-18 20:54:06 UTC
Permalink
hallo andreas,
hallo micheal

ja, es hat die selbe auswirkung, wie von andreas beschrieben.

w?rde das also heissen, dass folgende angabe auch einfach als leer
interpretiert wird ?
special.value.data = {page:uid}

hmmm - nun ja ...

zumindest gibt das folgende ts den titel des special directories aus,
denke dass ist das was du michael suchst.

5 = RECORDS
5 {
tables = pages
source < 10.special.value
conf.pages = TEXT
conf.pages.field = title
wrap = <p>dsf | </p>
}

lg
Post by Michael Meurer
Hallo Andreas,
das Feld "pages" gibt es schon.
Schau mal in phpmyadmin in die Tabelle tt_content oder in den TSOB.
tt_content.menu.20.1.special.value.field = pages
Mal eben so, weil du sagst, dass dieses Feld wahrscheinlich nicht
existiert....
Aus diesem Feld holen sich die Typo-Sitemaps (und auch meine) den
Ausgangspunkt, von dem aus sie anzeigen sollen. Und das funtz wunderbar.
5 = TEXT
5.field = title
5.wrap = <h2 class="submenu-header"> | </h2>
korrekt ausgef?hrt wird und mir auf jeder Seite den Seitentitel ausgibt.
Aber in meiner Sitemap gibt das gleiche TS-Schnipsel nur einen leeren
<hx>-Tag ausgibt...
*gr?bel*
Gru?
Michael
Michael Meurer
2008-07-19 09:54:48 UTC
Permalink
Hallo Leihla
Post by Leihla
5 = RECORDS
5 {
tables = pages
source < 10.special.value
conf.pages = TEXT
conf.pages.field = title
wrap = <p>dsf | </p>
}
lg
Das hier hat mir nur einen leeren wrap ausgegeben.
Es hat nur gefunzt, wenn ich eine konkrete source-id genutzt habe.
N?mlich den source des entsprechenden Sysordners aus pages.
Ich denke mal, weil "10.special.value" die Daten aus tt_content:pages
holt, die Abfrage hier in der Tabelle pages erfolgt.

Das hat mich aber nicht viel weiter gebracht. Siehe meinen ersten Post
von heute.

Trotzdem danke.

Gru?
Michael
Loading...