Project

General

Profile

Feature #14575

Updated by Mathias Schreiber almost 10 years ago

I would like to add a new    option to a HMENU when special is set to keywords. 
 I added a 'startUid' option that basicly does the same as the 'value' of the directory option.    So instead of supplying a level we can also tell the system to start at a other UID instead of starting at a different level. When the startUid is supplied, the level is ignored!!! 

 I needed such a option because our website massivly relies on finding pages using keyword. and this way I can show a menu of a other level. 

 The startUid uses the stdWrap method so users can supply a PHP function (like I do) to find a page within the system. 

 For example: 
	 lib.leftmenu.100.50.20.special.startUid.postUserFunc.setKeywords = citypage 
	 lib.leftmenu.100.50.20.special.startUid.postUserFunc = tx_ltgextendedmenus_pi1->ts_findPageUid 

 This means, when I am in a structure BELOW a city like restaurant, hotels etc. etc. then we can show the menu of the city itself. the 'ts_findPageUid' is a little PHP fucntion to find page within out system 

 I hope it will make it into T# version 3.8.0! 

 cheers, 
 Ries 



 



 class.tslib_menu.php 
 LINE548 					 // start point 
						 $eLevel = tslib_cObj::getKey (intval($this->conf['special.']['entryLevel']),$this->tmpl->rootLine); 
 -- 						 //$startUid = intval($this->tmpl->rootLine[$eLevel]['uid']); 
						
 ++ 						 // Get a alternative start UID 
 ++ 						 if ($this->conf['special.']['startUid'] || $this->conf['special.']['startUid.']) { 
 ++ 							 $startUid = $this->parent_cObj->stdWrap($this->conf['special.']['startUid'], $this->conf['special.']['startUid.']); 
 ++ 	 					 } else { 
 ++     						 $startUid = intval($this->tmpl->rootLine[$eLevel]['uid']); 
 ++ 	 					 } 

							 // which field is for keywords 
						 $kfield = 'keywords'; 
						 if ( $this->conf['special.']['keywordsField'] ) { 
							 list($kfield) = explode(' ',trim ($this->conf['special.']['keywordsField'])); 
						 } 
 
 (issue imported from #M839)

Back