Zum Inhalt springen

Beispiel: jscookmenu mit alias / realurl

Erstellt am 19. April 2007 · Noch keine Antworten

Tags: Frage

gkahr ·

Hallo,

ich habe relativ verzweifelt nach einer Lösung gesucht, mit der man das jscookmenu mit den Alias-URLs füllen kann. Also anstatt wie per Standard:

['','Home','./index.php?id=8','_self','']

dann so etwas

['','Home','./home.html','_self','']

Da ich nix richtiges gefunden habe, habe ich mir kurz selbst daran gemacht. Das nachfolgende ist dabei herausgekommen.

jscookmenu_code = COA 
jscookmenu_code.20 = HMENU 
jscookmenu_code.20.wrap = var {$jscookmenu.menu} = [|]; 
jscookmenu_code.20.1 = TMENU 
jscookmenu_code.20.1 { 
	expAll = 1  
	noBlur = 1 

	NO {
		doNotLinkIt = 1 
		stdWrap.wrap =  '','|',
		after.wrap =  './|','_self','' 
		after.typolink.parameter.field = alias // uid 
		after.typolink.returnLast = url 
		wrapItemAndSub = [|]|*|,[|] 
		subst_elementUid =1 
	}
	
	ACT < jscookmenu_code.1.NO 
}
	
 
jscookmenu_code.20.2 = TMENU
jscookmenu_code.20.2 { 
	NO < jscookmenu_code.20.1.NO
	NO.wrapItemAndSub = ,[|] 
	
	ACT < jscookmenu_code.2.NO 
	ACT.wrapItemAndSub = ,[|] 
} 



jscookmenu_code.20.2.ACT.wrapItemAndSub = ,[|] 
jscookmenu_code.30 = TEXT 
jscookmenu_code.30.value = cmDraw ('{$jscookmenu.id}', {$jscookmenu.menu}, '{$jscookmenu.orient}', {$jscookmenu.nodeProperties}, '{$jscookmenu.prefix}');

jscookmenu = TEMPLATE 
jscookmenu.template = FILE 
jscookmenu.template.file = EXT:jscookmenu/res/JavaScript.tmpl
jscookmenu.marks.ID = TEXT
jscookmenu.marks.ID.value = {$jscookmenu.id}
jscookmenu.marks.SCRIPT1 < jscookmenu_code.20
jscookmenu.marks.SCRIPT2 < jscookmenu_code.30

jscookmenu.headerData = TEXT
jscookmenu.headerData.value = 	<script type="text/javascript" src="./typo3conf/ext/jscookmenu/res/JSCookMenu.js"></script> 

page.includeCSS.jscookmenu = {$jscookmenu.style}

page.headerData.10 < jscookmenu.headerData

Entscheidend sind die Zeilen 11 bis 14, denn der Rest ist 1:1 dem Setup File entnommen. Der Ordnung halber lasse ich, sofern kein alias vorhanden ist, dann die id der Seite ausgeben. Ich hoffe, es hilft dem einen oder anderen.

Gruß
Lars