[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