[TYPO3-UG Dutch] typoscript select met join (tt_news category in HMENU)
W.S.M. Perquin [YniVerse]
perquin at yniverse.nl
Thu Feb 17 21:13:54 CET 2011
Lijst,
Ik wil per HMENU item de specifieke categories hebben. Het menu ziet er als
volgt uit in typo3:
Menu1
|- detailpagina
|- pagina met tt_news plugin en 2 categories (genaamd SMOES1 en SMOES2)
Menu2
|- detailpagina
|- pagina met tt_news plugin en 0 categories
Menu3
|- detailpagina
|- pagina met tt_news plugin en 6 categories (genaamd SMOES1, SMOES2,
SMOES3, SMOES4, SMOES5, SMOES6)
De categorien hebben wel dezelfde naam, maar worden niet gedeeld met elkaar.
Wat ik wil is dat er een listmenu wordt gegenereerd waarbij het tweede
niveau de categorieën zijn.
Dus:
<ul>
<li class=unselected>Menu1
<ul>
<li> SMOES1</li>
<li> SMOES2</li>
</ul>
</li>
<li class=unselected>Menu2</li>
<li class=selected>Menu3
<ul>
<li> SMOES1</li>
<li> SMOES2</li>
<li> SMOES3</li>
<li> SMOES4</li>
<li> SMOES5</li>
<li> SMOES6</li>
</ul>
</li>
</ul>
Delen typoscript heb ik nu gemaakt. Maar het samenvoegen verloopt alles
behalve goed
.
Het eerste stuk is gelukt:
template.test = HMENU
template.test.special = directory
template.test.special.value = 11
template.test.1 = TMENU
template.test.1 {
expAll = 1
noBlur = 1
wrap = <ul > |</ul>
NO.wrapItemAndSub = <li class="unselected">|</li>||*||*|<li
class="unselected">|</li>|
NO.stdWrap.htmlSpecialChars = 1
NO.stdWrap.field = title
NO.ATagTitle.field = nav_title
NO.ATagBeforeWrap = 1
NO.linkWrap = <STRONG>|</STRONG>
ACT < NO
ACT = 1
ACT.wrapItemAndSub = <li class="selected">|</li>||*||*|<li
class="selected">|</li>|
ACT.stdWrap.htmlSpecialChars = 1
ACT.stdWrap.field = title
ACT.ATagTitle.field = nav_title
ACT.ATagBeforeWrap = 1
ACT.linkWrap = <STRONG>|</STRONG>
}
Het stuk waarbij ik de tt_news categories ga ophalen lukt me niet.
De query die ik heb bedacht om het mogelijk te maken gaat als volgt:
SELECT tt_news_cat.*
FROM tt_news_cat
JOIN pages AS blogdir
ON (blogdir.uid = tt_news_cat.pid)
JOIN pages
ON (pages.uid = blogdir.pid)
WHERE pages.uid = 13
Dat geeft netjes als resultaat in phpmyadmin de categories behorende bij de
betreffende directory
Het tweede gedeelte van het menu wordt dan:
template.test.2 = TMENU
template.test.2 {
NO.stdWrap.cObject = COA
NO.stdWrap.cObject {
table = tt_news_cat
select {
selectFields= tt_news_cat.*
join = pages AS blogdir ON (blogdir.uid =
tt_news_cat.pid)
join = pages ON (pages.uid = blogdir.pid)
where.dataWrap = pages.uid = '{page:uid}'
}
renderObj = COA
renderObj.wrap = <div class="news-archive-item">|</div>
renderObj {
10 = TEXT
10.field = uid
10.dataWrap = <a
href=index.php?id={TSFE:id}&tx_ttnews[cat]= | >
10.insertData = 1
20 = TEXT
20 {
field = title
wrap = <strong>|</strong>
if {
value.field = uid
equals.data = GPvar:tx_ttnews|cat
}
}
21 = TEXT
21 {
field = title
wrap = |
if {
value.field = uid
equals.data = GPvar:tx_ttnews|cat
negate = 1
}
}
30 = TEXT
30.value = </a><br />
}
}
}
En dat geeft 0,0 als resultaat. Helemaal niets. Ik weet zeker dat ik het
fout/niet goed doe, maar hoe dan wel? Iemand tips/voorbeeld?
Willem
More information about the TYPO3-UG-Dutch
mailing list