Typo3 showClickmenu不适用于某些插件提供的项目类型

时间:2013-06-11 15:33:14

标签: javascript plugins typo3

我有一个非常古老的Typo3插件和前一段时间(可能问题是由Typo3升级引起的;我目前使用的是4.7.11),用户开始抱怨后端某些项目的上下文菜单不起作用更多。效果仅限于某些表格,而不是全部,但看起来一类项目是否有效。

该插件对上下文菜单没有任何特别之处,我只希望使用编辑按钮等标准事物。我从网络搜索中了解到后端wrt已经发生了变化。上下文菜单。但是,从错误报告来看,我不清楚我需要改变什么,特别是因为我的一些东西没有修改就能正常工作。

是否有任何关于我需要在插件中进行调整以使用新上下文菜单架构的文档?

提前致谢, 克里斯托弗

PS:奇怪的是,上下文菜单也没有在标准文件浏览器中工作。这可能是相关的,但我还没有解决方案......

编辑:对于失败的菜单,Firefox的webdev控制台会报告错误“xml或文本声明不在实体的开头”。不过,XML看起来还不错:

<?xml version="1.0"?>
<t3ajax><data><clickmenu><htmltable><![CDATA[<div class="typo3-CSM-wrapperCM">

            <table border="0" cellpadding="0" cellspacing="0" class="typo3-CSM">

                <tr class="typo3-CSM-itemRow" onclick="if(top.content.list_frame){top.content.list_frame.location.href=top.TS.PATH_typo3+'alt_doc.php?returnUrl='+top.rawurlencode(top.content.list_frame.document.location.pathname+top.content.list_frame.document.location.search)+'&amp;edit[tx_visteaching_seminartopic][240]=edit';}Clickmenu.hideAll();" onmouseover="this.bgColor='#dedede';" onmouseout="this.bgColor='';" oncontextmenu="if(top.content.list_frame){top.content.list_frame.location.href=top.TS.PATH_typo3+'alt_doc.php?returnUrl='+top.rawurlencode(top.content.list_frame.document.location.pathname+top.content.list_frame.document.location.search)+'&amp;edit[tx_visteaching_seminartopic][240]=edit';}Clickmenu.hideAll();;return false;">
                    <td align="center"> <span class="t3-icon t3-icon-actions t3-icon-actions-document t3-icon-document-open">&nbsp;</span></td><td class="typo3-CSM-item">Bearbeiten</td>
                </tr>
                <tr class="typo3-CSM-itemRow" onclick="if(top.content.list_frame){top.content.list_frame.location.href=top.TS.PATH_typo3+'alt_doc.php?returnUrl='+top.rawurlencode(top.content.list_frame.document.location.pathname+top.content.list_frame.document.location.search)+'&amp;edit[tx_visteaching_seminartopic][-240]=new';}Clickmenu.hideAll();" onmouseover="this.bgColor='#dedede';" onmouseout="this.bgColor='';" oncontextmenu="if(top.content.list_frame){top.content.list_frame.location.href=top.TS.PATH_typo3+'alt_doc.php?returnUrl='+top.rawurlencode(top.content.list_frame.document.location.pathname+top.content.list_frame.document.location.search)+'&amp;edit[tx_visteaching_seminartopic][-240]=new';}Clickmenu.hideAll();;return false;">
                    <td align="center"> <span class="t3-icon t3-icon-actions t3-icon-actions-document t3-icon-document-new">&nbsp;</span></td><td class="typo3-CSM-item">Neu</td>
                </tr>
                <tr class="typo3-CSM-itemRow" onclick="top.launchView('tx_visteaching_seminartopic', '240'); Clickmenu.hideAll();" onmouseover="this.bgColor='#dedede';" onmouseout="this.bgColor='';" oncontextmenu="top.launchView('tx_visteaching_seminartopic', '240'); Clickmenu.hideAll();;return false;">
                    <td align="center"> <span class="t3-icon t3-icon-actions t3-icon-actions-document t3-icon-document-info">&nbsp;</span></td><td class="typo3-CSM-item">Info</td>
                </tr>
                <tr class="bgColor2">
                    <td colspan="2"><img src="clear.gif" width="1" height="1" alt="" /></td>
                </tr>
                <tr class="typo3-CSM-itemRow" onclick="showClickmenu_raw('/typo3/alt_clickmenu.php?table=tx_visteaching_seminartopic&amp;uid=240&amp;listFr=1&amp;enDisItems=&amp;backPath=%7Ce633b347b6&amp;addParams=&amp;ajax=1&amp;reloadListFrame=1&amp;CB[el][tx_visteaching_seminartopic%7C240]=1&amp;CB[setCopyMode]=1');Clickmenu.hideAll();" onmouseover="this.bgColor='#dedede';" onmouseout="this.bgColor='';" oncontextmenu="showClickmenu_raw('/typo3/alt_clickmenu.php?table=tx_visteaching_seminartopic&amp;uid=240&amp;listFr=1&amp;enDisItems=&amp;backPath=%7Ce633b347b6&amp;addParams=&amp;ajax=1&amp;reloadListFrame=1&amp;CB[el][tx_visteaching_seminartopic%7C240]=1&amp;CB[setCopyMode]=1');Clickmenu.hideAll();;return false;">
                    <td align="center"> <span class="t3-icon t3-icon-actions t3-icon-actions-edit t3-icon-edit-copy">&nbsp;</span></td><td class="typo3-CSM-item">Kopieren</td>
                </tr>
                <tr class="typo3-CSM-itemRow" onclick="showClickmenu_raw('/typo3/alt_clickmenu.php?table=tx_visteaching_seminartopic&amp;uid=240&amp;listFr=1&amp;enDisItems=&amp;backPath=%7Ce633b347b6&amp;addParams=&amp;ajax=1&amp;reloadListFrame=1&amp;CB[el][tx_visteaching_seminartopic%7C240]=1');Clickmenu.hideAll();" onmouseover="this.bgColor='#dedede';" onmouseout="this.bgColor='';" oncontextmenu="showClickmenu_raw('/typo3/alt_clickmenu.php?table=tx_visteaching_seminartopic&amp;uid=240&amp;listFr=1&amp;enDisItems=&amp;backPath=%7Ce633b347b6&amp;addParams=&amp;ajax=1&amp;reloadListFrame=1&amp;CB[el][tx_visteaching_seminartopic%7C240]=1');Clickmenu.hideAll();;return false;">
                    <td align="center"> <span class="t3-icon t3-icon-actions t3-icon-actions-edit t3-icon-edit-cut">&nbsp;</span></td><td class="typo3-CSM-item">Ausschneiden</td>
                </tr>
                <tr class="bgColor2">
                    <td colspan="2"><img src="clear.gif" width="1" height="1" alt="" /></td>
                </tr>
                <tr class="typo3-CSM-itemRow" onclick="showClickmenu_raw('/typo3/alt_clickmenu.php?table=tx_visteaching_seminartopic&amp;uid=240&amp;listFr=1&amp;enDisItems=&amp;backPath=%7Ce633b347b6&amp;addParams=&amp;ajax=1&amp;cmLevel=1&amp;subname=moreoptions');" onmouseover="this.bgColor='#dedede';" onmouseout="this.bgColor='';" oncontextmenu="showClickmenu_raw('/typo3/alt_clickmenu.php?table=tx_visteaching_seminartopic&amp;uid=240&amp;listFr=1&amp;enDisItems=&amp;backPath=%7Ce633b347b6&amp;addParams=&amp;ajax=1&amp;cmLevel=1&amp;subname=moreoptions');;return false;">
                    <td align="center"> </td><td class="typo3-CSM-item">Weitere Einstellungen...</td>
                </tr>
                <tr class="typo3-CSM-itemRow" onclick="if(top.content.list_frame){top.content.list_frame.location.href=top.TS.PATH_typo3+'tce_db.php?redirect='+top.rawurlencode(top.content.list_frame.document.location.pathname+top.content.list_frame.document.location.search)+'&amp;data[tx_visteaching_seminartopic][240][hidden]=1&amp;prErr=1&amp;vC=31e89da0b5&amp;formToken=67e2328a3706432e0dd02d2f1e0923002537a3d0';}top.nav.refresh.defer(500, top.nav);Clickmenu.hideAll();" onmouseover="this.bgColor='#dedede';" onmouseout="this.bgColor='';" oncontextmenu="if(top.content.list_frame){top.content.list_frame.location.href=top.TS.PATH_typo3+'tce_db.php?redirect='+top.rawurlencode(top.content.list_frame.document.location.pathname+top.content.list_frame.document.location.search)+'&amp;data[tx_visteaching_seminartopic][240][hidden]=1&amp;prErr=1&amp;vC=31e89da0b5&amp;formToken=67e2328a3706432e0dd02d2f1e0923002537a3d0';}top.nav.refresh.defer(500, top.nav);Clickmenu.hideAll();;return false;">
                    <td align="center"> <span class="t3-icon t3-icon-actions t3-icon-actions-edit t3-icon-edit-hide">&nbsp;</span></td><td class="typo3-CSM-item">Verbergen</td>
                </tr>
                <tr class="typo3-CSM-itemRow" onclick="var docRef=(top.content.list_frame)?top.content.list_frame:top.content.list_frame; docRef.location.href=top.TS.PATH_typo3+'alt_doc.php?edit[tx_visteaching_seminartopic][240]=edit&amp;columnsOnly=hidden'+'&amp;returnUrl='+top.rawurlencode(docRef.document.location.pathname+docRef.document.location.search);Clickmenu.hideAll();" onmouseover="this.bgColor='#dedede';" onmouseout="this.bgColor='';" oncontextmenu="var docRef=(top.content.list_frame)?top.content.list_frame:top.content.list_frame; docRef.location.href=top.TS.PATH_typo3+'alt_doc.php?edit[tx_visteaching_seminartopic][240]=edit&amp;columnsOnly=hidden'+'&amp;returnUrl='+top.rawurlencode(docRef.document.location.pathname+docRef.document.location.search);Clickmenu.hideAll();;return false;">
                    <td align="center"> <span class="t3-icon t3-icon-actions t3-icon-actions-document t3-icon-document-edit-access">&nbsp;</span></td><td class="typo3-CSM-item">Sichtbarkeitseinstellungen</td>
                </tr>
                <tr class="bgColor2">
                    <td colspan="2"><img src="clear.gif" width="1" height="1" alt="" /></td>
                </tr>
                <tr class="typo3-CSM-itemRow" onclick="if(top.content.list_frame &amp;&amp; confirm(String.fromCharCode(83,105,110,100,32,83,105,101,32,115,105,99,104,101,114,44,32,100,97,115,115,32,83,105,101,32,34,69,118,97,108,117,97,116,105,111,110,32,118,111,110,32,75,110,111,116,101,110,45,75,97,110,116,101,110,32,68,105,97,103,114,97,109,109,101,110,34,32,116,97,116,115,228,99,104,108,105,99,104,32,108,246,115,99,104,101,110,32,119,111,108,108,101,110,63,32,40,84,104,101,114,101,32,97,114,101,32,49,32,114,101,102,101,114,101,110,99,101,40,115,41,32,116,111,32,116,104,105,115,32,114,101,99,111,114,100,33,41)) ){top.content.list_frame.location.href=top.TS.PATH_typo3+'tce_db.php?redirect='+top.rawurlencode(top.content.list_frame.document.location.pathname+top.content.list_frame.document.location.search)+'&amp;cmd[tx_visteaching_seminartopic][240][delete]=1&amp;prErr=1&amp;vC=31e89da0b5&amp;formToken=67e2328a3706432e0dd02d2f1e0923002537a3d0';}top.nav.refresh.defer(500, top.nav);Clickmenu.hideAll();" onmouseover="this.bgColor='#dedede';" onmouseout="this.bgColor='';" oncontextmenu="if(top.content.list_frame &amp;&amp; confirm(String.fromCharCode(83,105,110,100,32,83,105,101,32,115,105,99,104,101,114,44,32,100,97,115,115,32,83,105,101,32,34,69,118,97,108,117,97,116,105,111,110,32,118,111,110,32,75,110,111,116,101,110,45,75,97,110,116,101,110,32,68,105,97,103,114,97,109,109,101,110,34,32,116,97,116,115,228,99,104,108,105,99,104,32,108,246,115,99,104,101,110,32,119,111,108,108,101,110,63,32,40,84,104,101,114,101,32,97,114,101,32,49,32,114,101,102,101,114,101,110,99,101,40,115,41,32,116,111,32,116,104,105,115,32,114,101,99,111,114,100,33,41)) ){top.content.list_frame.location.href=top.TS.PATH_typo3+'tce_db.php?redirect='+top.rawurlencode(top.content.list_frame.document.location.pathname+top.content.list_frame.document.location.search)+'&amp;cmd[tx_visteaching_seminartopic][240][delete]=1&amp;prErr=1&amp;vC=31e89da0b5&amp;formToken=67e2328a3706432e0dd02d2f1e0923002537a3d0';}top.nav.refresh.defer(500, top.nav);Clickmenu.hideAll();;return false;">
                    <td align="center"> <span class="t3-icon t3-icon-actions t3-icon-actions-edit t3-icon-edit-delete">&nbsp;</span></td><td class="typo3-CSM-item">L&#xf6;schen</td>
                </tr>
                <tr class="typo3-CSM-itemRow" onclick="var docRef=(top.content.list_frame)?top.content.list_frame:top.content.list_frame; docRef.location.href=top.TS.PATH_typo3+'show_rechis.php?element=tx_visteaching_seminartopic%3A240'+'&amp;returnUrl='+top.rawurlencode(docRef.document.location.pathname+docRef.document.location.search);Clickmenu.hideAll();" onmouseover="this.bgColor='#dedede';" onmouseout="this.bgColor='';" oncontextmenu="var docRef=(top.content.list_frame)?top.content.list_frame:top.content.list_frame; docRef.location.href=top.TS.PATH_typo3+'show_rechis.php?element=tx_visteaching_seminartopic%3A240'+'&amp;returnUrl='+top.rawurlencode(docRef.document.location.pathname+docRef.document.location.search);Clickmenu.hideAll();;return false;">
                    <td align="center"> <span class="t3-icon t3-icon-actions t3-icon-actions-document t3-icon-document-history-open">&nbsp;</span></td><td class="typo3-CSM-item">Verlauf/R&#xfc;ckg&#xe4;ngig</td>
                </tr>
            </table>
        </div>]]></htmltable><cmlevel>0</cmlevel></clickmenu></data></t3ajax>

2 个答案:

答案 0 :(得分:0)

通过AJAX请求呈现上下文菜单。请务必查看浏览器network inspection tools的原始结果(Chrome和Firefox最适合此处)。原始结果可能包含错误消息。

另请务必检查PHP error log

我不知道上下文菜单有任何重大更改。

答案 1 :(得分:0)

您可以在文件class.t3lib_treeview.php中找到clickmenu的javascript。它使用javascript而不是ajax。

    function wrapClickMenuOnIcon($str,$table,$uid='',$listFr=1,$add$
    {
         $backPath = rawurlencode($this->backPath).'|'.t3lib_div$
         $onClick = 'if(event.stopPropagation){event.stopPropaga$
         '","'.$uid.'","'.$listFr.'","'.
          str_replace('+','%2B',$enDisItems).'","'.
          str_replace('&','&amp;',addcslashes($backPath,'"')).'",$
          str_replace('&','&amp;',addcslashes($addParams,'"')).'"$
          return $returnOnClick ? $onClick : '<a href="javascript$
                                                    htmlspecialchar$
     }