[TYPO3-UG Dutch] typoscript select met join (tt_news category in HMENU)

Bas v.d. Wiel bas at kompasmedia.nl
Fri Feb 18 20:02:41 CET 2011


Hallo allemaal,

Even een compleet andere benadering. Als je nou eens een MySQL view 
aanmaakt van de join die je nodig hebt? Die gedraagt zich als een 
doodgewone tabel en als je 'm alleen voor SELECT gebruikt, is dat ook 
onschadelijk. Zie de MySQL-handleiding voor de syntax van CREATE VIEW.

Groeten,
Bas

On 02/18/2011 05:00 PM, W.S.M. Perquin [YniVerse] wrote:
> Beste Rik,
> Nee, daar ligt het niet aan. Wat ik wel merk is dat de query het probleem op
> levert:
> 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}'
>
> Als ik dat vervang door pidinlist = 28 (de pid van de page met als modus
> news) dan krijg ik wel de categorieën te zien, maar dat staat dan ook overal
> en dat wil ik niet.
>
> Weet jij hoe de query er dan uit zo moeten zien? Volgens mij doe ik hier
> niks fout.
>
> Groet
>
> Willem
>
> -----Oorspronkelijk bericht-----
> Van: typo3-ug-dutch-bounces at lists.typo3.org
> [mailto:typo3-ug-dutch-bounces at lists.typo3.org] Namens Rik Willems
> Verzonden: vrijdag 18 februari 2011 9:59
> Aan: typo3-ug-dutch at lists.typo3.org
> Onderwerp: Re: [TYPO3-UG Dutch] typoscript select met join (tt_news category
> in HMENU)
>
> Hi Willem,
>
> Maak van:
> 	NO.stdWrap.cObject = COA
> eens:
> 	NO.stdWrap.cObject = CONTENT
>
> Met CONTENT maak je daadwerkelijk een select uit de database, COA doet
> dit niet (zie tsref.de). De rest heb ik overigens niet gecontroleerd...
>
> Groet, Rik
>
> Op 17-2-2011 21:13, W.S.M. Perquin [YniVerse] schreef:
>> 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
>>
>>
> _______________________________________________
> TYPO3-UG-Dutch mailing list
> TYPO3-UG-Dutch at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-dutch
>
>
> _______________________________________________
> TYPO3-UG-Dutch mailing list
> TYPO3-UG-Dutch at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-dutch



More information about the TYPO3-UG-Dutch mailing list