Typo3 在userFunc中不链接它
我正在用下面的字体创建我的菜单Typo3 在userFunc中不链接它,typo3,typoscript,Typo3,Typoscript,我正在用下面的字体创建我的菜单 includeLibs.myadminmenu = typo3conf/ext/my_admin/user_makemenu.php lib.userMenu = COA_INT lib.userMenu.10 = HMENU lib.userMenu.10 { special = directory special.value = 184 modules = {$modules} entryLevel = 1 1 = TM
includeLibs.myadminmenu = typo3conf/ext/my_admin/user_makemenu.php
lib.userMenu = COA_INT
lib.userMenu.10 = HMENU
lib.userMenu.10 {
special = directory
special.value = 184
modules = {$modules}
entryLevel = 1
1 = TMENU
1.itemArrayProcFunc = user_myadminmenu->makemenu
1 {
NO = 1
NO.allWrap = |
ACT = 1
ACT.allWrap = |
}
}
这很好,但是在我的makemenu方法中,我有以下内容
foreach($menuArr AS $i => $menu) {
if (array_key_exists($menu['uid'], $this->paymentModules)) {
if (! in_array($this->paymentModules[$menu['uid']], $modules)) {
$menuArr[$i]['doNotLinkIt'] = 1;
}
}
}
这不起作用——我已经试过了
unset($menuArr[$i])
这删除了菜单项,但我只想它不链接,有没有办法做到这一点
如果无法取消菜单项的链接,那么是否可以将url覆盖到另一个页面?另一种方法可以是: (未经测试)
includeLibs.myadminmenu=typo3conf/ext/my_admin/user_makemenu.php
lib.userMenu=COA\u INT
lib.userMenu.10=humenu
lib.userMenu.10{
特殊=目录
特殊值=184
模块={$modules}
entryLevel=1
1=t菜单
1 {
否=1
否。全部包裹=|
NO.doNotLinkIt=1
不,不要链接它{
#userfunc需要返回一个PID列表,如
#值=10,12,24,44
value.posturefunc=user\u myadminmenu->makemenu
isInList.field=uid
}
ACT=1
ACT.allWrap=|
不可抗力<.不可抗力<.不可抗力
}
}
我认为这更容易阅读和维护
includeLibs.myadminmenu = typo3conf/ext/my_admin/user_makemenu.php
lib.userMenu = COA_INT
lib.userMenu.10 = HMENU
lib.userMenu.10 {
special = directory
special.value = 184
modules = {$modules}
entryLevel = 1
1 = TMENU
1 {
NO = 1
NO.allWrap = |
NO.doNotLinkIt = 1
NO.doNotLinkIt.if {
# the userfunc needs to return a list of pids like
# value = 10,12,24,44
value.postUserFunc = user_myadminmenu->makemenu
isInList.field = uid
}
ACT = 1
ACT.allWrap = |
ACT.doNotLinkIt < .NO.doNotLinkIt
}
}