Discussion:
[TYPO3-german] tt_news Kategorie mit TypoScript ausgegen
Patric Eckhart
2013-07-25 08:43:25 UTC
Permalink
Hi zusammen!

Ich m?chte die Kategorie des Beitrages aus tt_news anzeigen
Ich schaff es einfach nicht. Der Weg ist aber bestimmt der richtige, es geht doch nicht anders oder?

1 = TEXT
1.data = DB:tt_news_cat_mm:{field:uid}:uid_foreign
1.wrap = <p>|</p>

M?cht das dann mit wrap3 machen und jedem div mit der klasse 3 (f?r Kategorie 3) eine Farbe geben

....
1.wrap3 = {|}
1.wrap3.wrap = <div class="pt p{register:counter} cat|"><span>{field:title}</span>

Kann mir da jemand helfen - begreif es grad mal wieder ?berhaupt nicht?
Patric Eckhart
2013-07-25 11:11:52 UTC
Permalink
Bin schon etwas weiter.

Problem ist, dass das Feld uid_local nicht die ID des Datensatzes ist. Datum kann ich auch nicht mit :{field:uid}: drauf zugreifen.
Die Datens?tze in tt_news_cat_mm haben keine uid? Kann ich trotzdem uid_foreign irgendwie in meine Ausgabe bekommen?
Susanne
2013-07-25 15:19:38 UTC
Permalink
Sollte via CONTENT gehen. Join tt_news und tt_news_cat_mm und dann im
renderObj uid_foreign ausgeben lassen.

Gru?
Susanne
Post by Patric Eckhart
Bin schon etwas weiter.
Problem ist, dass das Feld uid_local nicht die ID des Datensatzes ist.
Datum kann ich auch nicht mit :{field:uid}: drauf zugreifen.
Die Datens?tze in tt_news_cat_mm haben keine uid? Kann ich trotzdem
uid_foreign irgendwie in meine Ausgabe bekommen?
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Patric Eckhart
2013-07-25 15:37:17 UTC
Permalink
Vielen Dank f?r deine Antwort.

Aber als CONTENT im bestehenden renderObj?
Bei meinem TS unter "2." sollte es zus?tzliche CSS Klasse eingef?gt werden

lib.thumbs = COA
lib.thumbs.10 = CONTENT
lib.thumbs.10 {
table = tt_news
select.pidInList = 16
select.orderBy = rand()
select.max = 57
renderObj = COA
renderObj {

1 = LOAD_REGISTER
1.counter {
data = register:counter
stdWrap.wrap = |+1
prioriCalc = 1
}

2 = TEXT
2.field = imagecaption
2.dataWrap = DB:tt_news_cat_mm:{field:uid}:uid_foreign
2.wrap3 = {|}
2.wrap3.wrap = <div class="pt p{register:counter} cat|"><span>{field:title}</span>
2.wrap.insertData = 1

3 = IMAGE
3.file.import = uploads/pics/
3.file.import.field = image
3.file.import.listNum = 0
3.file.width = 70c
3.file.height = 70c

3.wrap = |</div>
3.stdWrap.typolink.parameter = 29
3.stdWrap.typolink.additionalParams.dataWrap = |&tx_ttnews[tt_news]={field:uid}
3.wrap.insertData = 1



}
wrap = <div id="pt-container">|</div>
}


}
Ralf-Rene Schröder
2013-07-25 16:43:29 UTC
Permalink
verstehen tue ich dein 2. irgendwie nicht so recht...
(der schon angesprochene join ist eigentlich der normale weg, damit hast
du dann alles zur Verf?gung was du brauchst)

aber vielleicht hilft dir ja hier ein einfaches Register weiter...
folgendes sollte eigentlich die ID der Kategorie holen
(da es aber ja mehrere geben kann dann das max=1)
aber ob hier CONTENT ohne pidInList (gibt es ja da nicht) auskommt ist
ungetestet...

1 = LOAD_REGISTER
1.catID.cObject = CONTENT
1.catID.cObject {
table = tt_news_cat_mm
select.where.dataWrap = uid_local={field:uid}
select.max = 1
renderObj = TEXT
renderObj.field = uid_foreign
}
Post by Patric Eckhart
Vielen Dank f?r deine Antwort.
Aber als CONTENT im bestehenden renderObj?
Bei meinem TS unter "2." sollte es zus?tzliche CSS Klasse eingef?gt werden
lib.thumbs = COA
lib.thumbs.10 = CONTENT
lib.thumbs.10 {
table = tt_news
select.pidInList = 16
select.orderBy = rand()
select.max = 57
renderObj = COA
renderObj {
1 = LOAD_REGISTER
1.counter {
data = register:counter
stdWrap.wrap = |+1
prioriCalc = 1
}
2 = TEXT
2.field = imagecaption
2.dataWrap = DB:tt_news_cat_mm:{field:uid}:uid_foreign
2.wrap3 = {|}
2.wrap3.wrap = <div class="pt p{register:counter}
cat|"><span>{field:title}</span>
2.wrap.insertData = 1
3 = IMAGE
3.file.import = uploads/pics/
3.file.import.field = image
3.file.import.listNum = 0
3.file.width = 70c
3.file.height = 70c
3.wrap = |</div>
3.stdWrap.typolink.parameter = 29
3.stdWrap.typolink.additionalParams.dataWrap =
|&tx_ttnews[tt_news]={field:uid}
3.wrap.insertData = 1
}
wrap = <div id="pt-container">|</div>
}
}
--
image[FORMAT] - Ralf-Ren? Schr?der
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format
Patric Eckhart
2013-07-25 17:16:04 UTC
Permalink
Danke f?r deine Antwort:

Ich dachte schon ein REGISTER aber
There is no entry in the $TCA array for the table "tt_news_cat_mm". This means that the function enableFields() is called with an invalid table name as argument.
Ralf-Rene Schröder
2013-07-26 00:57:43 UTC
Permalink
Post by Patric Eckhart
Ich dachte schon ein REGISTER aber
There is no entry in the $TCA array for the table "tt_news_cat_mm". This
means that the function enableFields() is called with an invalid table
name as argument.
dann geh doch den normalen Weg mit join schon im Haupt CONTENT

THUMBGALLERY.10 = CONTENT
THUMBGALLERY.10 {
table = tt_news
select {
join = tt_news_cat_mm ON (tt_news_cat_mm.uid_local = tt_news.uid)
groupBy = uid
pidInList = 16
orderBy = rand()
max = 57
}
renderObj = COA
renderObj {

...
hier hast du dann folgendes zur Verf?gung:
99 = TEXT
99.field = uid_foreign
99.wrap = catID-|
...

}
}
--
image[FORMAT] - Ralf-Ren? Schr?der
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format
Patric Eckhart
2013-07-25 17:28:04 UTC
Permalink
Mit anderen Tabellen z.B. tt_news oder tt_content klappt die Sache einwandfrei. Nur tt_news_cat_mm macht Probleme
Carsten Wegner
2013-07-25 17:42:38 UTC
Permalink
Hi Patric, kannst du noch mal genau erkl?ren, was du vorhast? Ich sehe
nicht den prinzipiellen Unterschied zu deiner anderen Frage und
Vorgehensweise vom letzten Wochenende. Es scheint halt nur der
umgekehrte Weg zu sein.
Gru? Carsten
Post by Patric Eckhart
Mit anderen Tabellen z.B. tt_news oder tt_content klappt die Sache
einwandfrei. Nur tt_news_cat_mm macht Probleme
Patric Eckhart
2013-07-25 18:59:30 UTC
Permalink
Hi Carsten!

Danke. Ich m?chte jetzt eigentlich nur die Kategorie ID mit ausgeben.
Voriges Wochenende war die Sache mit "nur Eintr?ge der Kategorie 3 abrufen".

Ich m?chte die div-Container kategorieabh?ngig mit CSS stylen. Dazu br?uchte ich
die Kategorie-ID in der Klasse.

Die Standard-Latest Ausgabe von tt_news kann ich nicht verwenden, da ich hier die Container
nicht z?hlen kann (diese brauche ich weil dieses Container allesamt einen Buchstaben symbolisieren)
div1 = width:70px; margin-left:10px;
div2 = width:70px; margin-left:150px;
usw.

Ich schaff es einfach nicht.

Wenn du mir helfen magst, hier w?re mein TS:

THUMBGALLERY = COA
THUMBGALLERY.10 = CONTENT
THUMBGALLERY.10 {
table = tt_news
select.pidInList = 16
select.orderBy = rand()
select.max = 57
renderObj = COA
renderObj {

1 = LOAD_REGISTER
1.counter {
data = register:counter
stdWrap.wrap = |+1
prioriCalc = 1
}

2 = TEXT
2.field = imagecaption
2.wrap = <div class="pt p{register:counter}">|<span>{field:title}</span>
2.wrap.insertData = 1

#2 = LOAD_REGISTER
#2 = CONTENT
#2 {
#table = tt_news
#select.pidInList = 16
#select.where.dataWrap = uid={field:uid}
#select.max = 1
#renderObj = TEXT
#renderObj.field = title
#}
#2.wrap = <p>Category: |</p>


3 = IMAGE
3.file.import = uploads/pics/
3.file.import.field = image
3.file.import.listNum = 0
3.file.width = 70c
3.file.height = 70c

3.wrap = |</div>
3.stdWrap.typolink.parameter = 29
3.stdWrap.typolink.additionalParams.dataWrap = |&tx_ttnews[tt_news]={field:uid}
3.wrap.insertData = 1

#3.file.params = -colorspace GRAY -quality 80


}
wrap = <div id="pt-container">|</div>
}




Quote: Carsten Wegner wrote on Thu, 25 July 2013 19:42
----------------------------------------------------
Post by Carsten Wegner
Hi Patric, kannst du noch mal genau erkl?ren, was du vorhast? Ich sehe
nicht den prinzipiellen Unterschied zu deiner anderen Frage und
Vorgehensweise vom letzten Wochenende. Es scheint halt nur der
umgekehrte Weg zu sein.
Gru? Carsten
Post by Patric Eckhart
Mit anderen Tabellen z.B. tt_news oder tt_content klappt die Sache
einwandfrei. Nur tt_news_cat_mm macht Probleme
----------------------------------------------------
Carsten Wegner
2013-07-25 20:39:19 UTC
Permalink
Okee, mit dem folgenden (nicht getesteten) TS liest du eine oder
s?mtliche Kategorie-UIDs eines News-Artikels aus. Aber das scheint nur
ein Baustein dessen zu sein, was du machen m?chtest. Die anderen
Bausteine wirken auf mich wie Kuddelmuddel :). Soweit ich das
?berblicke, versuchst du's mit zu vielen Elementen gleichzeitig.
Probier's mal nacheinander zu bauen:

THUMBGALLERY.10 = CONTENT
THUMBGALLERY.10 {
table = tt_news_cat_mm
select {
selectFields = tt_news_cat_mm.uid_foreign
andWhere = tt_news_cat_mm.uid_local = {GP:tx_ttnews|tt_news}))
andWhere.insertData = 1
max = 1
orderBy = sorting
}
renderObj = TEXT
renderObj {
field = uid_foreign
wrap = <div class="pt p|">
}
}

Damit holst du dir:
-- aus der Tabelle tt_news_cat_mm (!)
-- s?mtliche Kategorie-UIDs (also tt_news_cat_mm.uid_foreign),
-- deren uid_local gleich der uid des aktuellen News-Datensatzes ist.
max begrenzt das Ergebnis auf 1 und sorting sollte daf?r sorgen, dass
nur die oberste/erste vergebene Kategorie genommen wird.)

Im renderObj hab ich dein {register:counter} durch die Pipe | ersetzt.
Dadurch wird die Cat-uid an genau dieser Stelle eingesetzt.

Jetzt gehts nacheinander weiter:

Mit einem THUMBGALLERY.20 k?nntest du den Teil bauen, der innerhalb
deines DIVs stehen soll (anscheinend 2. und 3. in deinem Original-Code).
Am Ende brauchst du noch einen schlie?enden DIV (?hnlich wie du es mit
3.wrap = |</div> gemacht hast.)

Viel Erfolg
Carsten
Post by Patric Eckhart
Hi Carsten!
Danke. Ich m?chte jetzt eigentlich nur die Kategorie ID mit ausgeben.
Voriges Wochenende war die Sache mit "nur Eintr?ge der Kategorie 3 abrufen".
Ich m?chte die div-Container kategorieabh?ngig mit CSS stylen. Dazu br?uchte ich
die Kategorie-ID in der Klasse.
Die Standard-Latest Ausgabe von tt_news kann ich nicht verwenden, da ich hier die Container
nicht z?hlen kann (diese brauche ich weil dieses Container allesamt
einen Buchstaben symbolisieren) div1 = width:70px; margin-left:10px;
div2 = width:70px; margin-left:150px;
usw.
Ich schaff es einfach nicht.
THUMBGALLERY = COA
THUMBGALLERY.10 = CONTENT
THUMBGALLERY.10 {
table = tt_news
select.pidInList = 16
select.orderBy = rand()
select.max = 57
renderObj = COA
renderObj {
1 = LOAD_REGISTER
1.counter {
data = register:counter
stdWrap.wrap = |+1
prioriCalc = 1
}
2 = TEXT
2.field = imagecaption
2.wrap = <div class="pt
p{register:counter}">|<span>{field:title}</span>
2.wrap.insertData = 1
#2 = LOAD_REGISTER
#2 = CONTENT
#2 {
#table = tt_news
#select.pidInList = 16
#select.where.dataWrap = uid={field:uid}
#select.max = 1
#renderObj = TEXT
#renderObj.field = title
#}
#2.wrap = <p>Category: |</p>
3 = IMAGE
3.file.import = uploads/pics/
3.file.import.field = image
3.file.import.listNum = 0
3.file.width = 70c
3.file.height = 70c
3.wrap = |</div>
3.stdWrap.typolink.parameter = 29
3.stdWrap.typolink.additionalParams.dataWrap =
|&tx_ttnews[tt_news]={field:uid}
3.wrap.insertData = 1
#3.file.params = -colorspace GRAY -quality 80
}
wrap = <div id="pt-container">|</div>
}
Quote: Carsten Wegner wrote on Thu, 25 July 2013 19:42
----------------------------------------------------
Post by Carsten Wegner
Hi Patric, kannst du noch mal genau erkl?ren, was du vorhast? Ich sehe
nicht den prinzipiellen Unterschied zu deiner anderen Frage und
Vorgehensweise vom letzten Wochenende. Es scheint halt nur der
umgekehrte Weg zu sein.
Gru? Carsten
Post by Patric Eckhart
Mit anderen Tabellen z.B. tt_news oder tt_content klappt die Sache
einwandfrei. Nur tt_news_cat_mm macht Probleme
----------------------------------------------------
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Patric Eckhart
2013-07-26 04:45:27 UTC
Permalink
Danke f?r deine M?he Carsten!

Ich glaube wir reden aneinander vorbei. Ich bekomm die Ausgabe ja schon so wie ich sie brauche. Ich lade alle News-Eintr?ge die es gibt und m?chte lediglich die ID der Kategorie z.B neben meinem News-Titel ausgeben zwecks farblicher Trennung und das m?sste doch eigentlich mit

DB:tt_news_cat_mm:{field:uid}:uid_foreign gehen.

Geht nicht weil tt_news_cat_mm keine Datensatz IDs hat (kein Primary-Key und kein Auto-Increment).

Mit dem klappts auch nicht, weil tt_news_cat_mm nicht im $TCA ist
2 = CONTENT
2 {
table = tt_news
select.pidInList = 16
select.where.dataWrap = uid={field:uid}
select.max = 1
renderObj = TEXT
renderObj.field = title
}
2.wrap = <p>Category: |</p>
Susanne
2013-07-26 05:31:50 UTC
Permalink
Hallo Patric,

daher ja der join von tt_news aus. Du kannst ja auch im 2. CONTENT
nochmal einen join bauen und kommst dann an alle Felder.

Gru?
Susanne
Post by Patric Eckhart
Danke f?r deine M?he Carsten!
Ich glaube wir reden aneinander vorbei. Ich bekomm die Ausgabe ja
schon so wie ich sie brauche. Ich lade alle News-Eintr?ge die es gibt
und m?chte lediglich die ID der Kategorie z.B neben meinem News-Titel
ausgeben zwecks farblicher Trennung und das m?sste doch eigentlich mit
DB:tt_news_cat_mm:{field:uid}:uid_foreign gehen.
Geht nicht weil tt_news_cat_mm keine Datensatz IDs hat (kein
Primary-Key und kein Auto-Increment).
Mit dem klappts auch nicht, weil tt_news_cat_mm nicht im $TCA ist
2 = CONTENT
2 {
table = tt_news
select.pidInList = 16
select.where.dataWrap = uid={field:uid}
select.max = 1
renderObj = TEXT
renderObj.field = title
}
2.wrap = <p>Category: |</p>
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Patric Eckhart
2013-07-26 05:36:15 UTC
Permalink
Danke Susanne, aber wie sollte der join aussehen, ich durchblicke das nicht. Kannst du mir noch mal helfen.

Das ist mein 2.

2 = LOAD_REGISTER
2 = CONTENT
2 {
table = tt_news
select.pidInList = 16
select.where.dataWrap = uid={field:uid}
select.max = 1
renderObj = TEXT
renderObj.field = title
}
2.wrap = <p>Category: |</p>
Ralf-Rene Schröder
2013-07-26 09:02:34 UTC
Permalink
Post by Patric Eckhart
Danke Susanne, aber wie sollte der join aussehen, ich durchblicke das
nicht. Kannst du mir noch mal helfen.
siehe meine Antwort von 2:57
--
image[FORMAT] - Ralf-Ren? Schr?der
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format
Patric Eckhart
2013-07-26 07:12:04 UTC
Permalink
Ich habe es jetzt mit der Standard-Latest Ansicht gel?st und mit einem genericmarker f?r den Z?hler. Ist wohl die beste L?sung.

Danke auf jeden Fall f?r eure Hilfe!
Loading...