[Typo3] Popups in menulinks

Alexander Bohndorf bohndorf at sitegeist.de
Thu Mar 10 18:50:17 CET 2005

Hi Stefan				

we created a new menu-class which inherits from tslib_tmenu and uses this in the similar way as TMENU.
In TS you only have to add one line then:
includeLibs.tmenu2 = /media/scripts/tmenu2.php

Then you have to replace TMENU with TMENU2, that's all.
Of course you have to copy the class file to /media/scripts.

To open a page in a popup-window you can use the typolink-syntax für popup-windows in the target field of the page, f.e. "800x600:menubar=0".

Here is the class file (/media/scripts/tmenu2.php):
class tslib_tmenu2 extends tslib_tmenu {

	 * Creates the URL, target and onclick values for the menu item link. Returns them in an array as key/value pairs for <A>-tag attributes
	 * This function doesn't care about the url, because if we let the url be redirected, it will be logged in the stat!!!
	 * @param	integer		Pointer to a key in the $this->menuArr array where the value for that key represents the menu item we are linking to (page record)
	 * @param	string		Alternative target
	 * @param	integer		Alternative type
	 * @return	array		Returns an array with A-tag attributes as key/value pairs (HREF, TARGET and onClick)
	 * @access private
	function link($key,$altTarget='',$typeOverride='') {
		Patch von sitegeist media solutions GmbH, Alexander Bohndorf (bohndorf at sitegeist.de)
		Target-Notation der Form "400x300:menubar=0,status=0" umwandeln in Popup-Link

		// Aufruf der link-Methode der Parent-Klasse
		$list = tslib_tmenu::link($key,$altTarget,$typeOverride);
		// $list ist ein assoz. Array mit den Einträgen 'HREF', 'TARGET' und 'onClick'
			(count($params)>3) ? $additionalParams = ','.substr($params[3],1) : $additionalParams = '';
			$list['TARGET'] = '';
			$list['onClick'] = '';
			$list['HREF'] = '#';
			$onClick= 'window.open(\''.$url.'\',\''.md5($url).'\',\'width='.$params[1].',height='.$params[2].$additionalParams.'\'); return false;';
		$list['onClick'] = $onClick;

		return $list;



if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['media/scripts/tmenu2.php'])	{


Hope that helps!

- Alexander Bohndorf (xandi)

This thread is located in the archive at this URL:

More information about the TYPO3-english mailing list