[TYPO3-commerce] Building navigation menu using itemArrayProcFunc

Jeroen Visser jeroen at roquin.nl
Mon Nov 5 10:42:44 CET 2007


Hi Franz,
Problem solved... the array keys needed to be reset.

TS:
lib.topmenu.2 = TMENU
lib.topmenu.2 {
   itemArrayProcFunc = user_menu
   itemArrayProcFunc {
     userFunc = user_tx_commerce_catmenu_pub->init
     category = {$plugin.tx_commerce_lib.catUid}
     showProucts = 0
     overridePid = {$plugin.tx_commerce_lib.overridePid}
     useRootlineInformationToUrl = 
{$plugin.tx_commerce_lib.useRootlineInformationToUrl}
   }
   wrap = <ul class="level2">|</ul></li>
   NO {
     allWrap = <li>|</li>
   }
}

PHP:
function user_menu($menuArr,$conf){
   if($menuArr[0]['pid']==404){
     $indexerObj = &t3lib_div::makeInstance('tx_commerce_navigation');
     $menuArr  = $indexerObj->init('',$conf);
     $menuArr  = array_merge(array(),$menuArr);
	}
   return $menuArr;
}

Thank's for your thought's

Greetings,
Jeroen

Franz Koch wrote:
> Hi Jeroen,
> 
>> After some code changing The result that the menu Items are without a 
>> category title.
>>
>> The TS (as you suggested):
>> lib.topmenu.2 = TMENU
>> lib.topmenu.2 {
>>   itemArrayProcFunc = user_menu
>>   itemArrayProcFunc {
>>     userFunc = user_tx_commerce_catmenu_pub->init
>>     category = {$plugin.tx_commerce_lib.catUid}
>>     showProucts = 0
>>     overridePid = {$plugin.tx_commerce_lib.overridePid}
>>     useRootlineInformationToUrl = 
>> {$plugin.tx_commerce_lib.useRootlineInformationToUrl}
>>   }
>>
>>   wrap = <ul class="level2">|</ul></li>
>>   NO {
>>     allWrap = <li>|</li>
>>   }
>> }
>>
>> The PHP:
>> function user_menu($menuArr,$conf){
>>   //Only for commerce categories
>>   if($menuArr[0]['pid']==404){
>>     $indexerObj = &t3lib_div::makeInstance('tx_commerce_navigation');
>>     $menuArr = $indexerObj->init('',$conf);
>>   }
>>   return $menuArr;
>> }
>>
>> I do get my six rows (There are six categories) in my list only 
>> without category titles. Have you got any idea?
> 
> sorry - can't tell right away and I don't have the possibility to test 
> that. I'd suggest to do some debugging with the $menuArr in your php 
> function. Debug the incoming array and compare it with the array coming 
> from $inderxerObj. Maybe the TMENU needs a little bit different 
> structure than the HMENU - I'm not sure.
> 
> Hope that helps.
> 
> -- 
> Greetings,
> Franz
> 




More information about the TYPO3-project-commerce mailing list