当前位置: 首页 > 知识库问答 >
问题:

可切换控制器动作不工作TYPO3 7.6

融伯寅
2023-03-14

你好,我在TYPO3 7.6有一个扩展。我有两个行动列表和显示。在我的flexform中有一个可切换控制器action.list动作正在工作。但是显示行动不起作用。请检查我的代码。

柔性件

                   <switchableControllerActions>
                        <TCEforms>
                            <label>Display Type</label>
                            <onChange>reload</onChange>
                            <config>
                                <type>select</type>
                                <items type="array">
                                    <numIndex index="1" type="array">
                                        <numIndex index="0">List</numIndex>
                                        <numIndex index="1">News->list</numIndex>
                                    </numIndex>
                                    <numIndex index="2" type="array">
                                        <numIndex index="0">Detail</numIndex>
                                        <numIndex index="1">News->show</numIndex>
                                    </numIndex>
                                </items>
                                <minitems>0</minitems>
                                <maxitems>1</maxitems>
                                <size>1</size>
                            </config>
                        </TCEforms>
                    </switchableControllerActions> 

列表视图

  <f:if condition="{news}">
    <ul>
        <f:for each="{news}" as="item">
            <li>
                <f:link.action action="show" controller="News" arguments="{news:'{item}'}" noCacheHash="false" pageUid="{settings.detailPid}" >
                    {item.title}
                </f:link.action>
            </li>
        </f:for>
    </ul>
</f:if>

我从列表页面的配置中选择列表,并从详细信息页面中选择详细信息。列表工作完美,但细节不工作。

共有2个答案

马和硕
2023-03-14

没有显示任何错误消息。仅显示空白页

你可能想先改变一下

  1. 检查你的error_reporting在PHP级别(display_errors)
  2. 将环境设置为开发(可以在安装工具中选择预设)
  3. 在安装工具中查找调试选项(所有配置)

请记住,您不希望在生产环境中进行这些调整。

然后你应该能看到错误。

我从列表页面的配置中选择列表,并从详细信息页面中选择详细信息。列表工作完美,但细节不工作。

您是否将显示操作添加到插件配置中?请在扩展插件ext\u localconf中查找。php

查找此调用:ExtensionUtility::configurePlugin

你的控制器-

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'Vendor.ext_key',
    'News',
    array(
        'News' => 'list,show'
    )
);

如果你传递一个第4个参数与控制器-

注意:在ext_localconf中始终使用完整的名称空间。php和其他引导文件,如果使用“use”语句,可能会出现另一个致命错误,typo3会连接所有这些引导文件。

此外,您可能误解了switchableControllerActions模式。如果你想让一个插件(ce)同时显示两个动作,那么这个选项必须是

<switchableControllerActions>
    <TCEforms>
        ...
        <config>
            <type>select</type>
            <items type="array">
                ...
                <numIndex index="3" type="array">
                    <numIndex index="0">List with Details</numIndex>
                    <numIndex index="1">News->list;News->show</numIndex>
                </numIndex>
            </items>
            ...
        </config>
    </TCEforms>
</switchableControllerActions> 

所选选项将保存在xml数据结构中,并用作配置,因此,如果此实例只有一个操作可用,则您将收到一个错误。

如果使用不同的内容元素显示列表和详细视图,则必须在两个内容元素中选择正确的switchableControllerAction选项。

党佐
2023-03-14

尝试添加这样的参数:

arguments="{news: item.uid}"

在show Action中,你可以得到这样的论点:

$newsId = $this->request->getArgument('news');
$news = $this->newsRepository->findByUid($newsId); 
$this->view->assign('news', $news);

它将完美地工作,你需要的。

 类似资料:
  • 嗨,我用spring初始化器创建了一个简单的Spring Boot应用程序。我在主应用程序类的同一文件夹中添加了一个控制器。 这是给我以下错误的网址http://localhost:8080/welcome 此应用程序没有针对/错误的显式映射,因此您将其视为回退。 Sat Dec 19 12:51:44 IST 2020出现意外错误(类型=未找到,状态=404)。 如果我使用@restContro

  • 我真的很难理解JavaFX控制器,我的目标是写一个TextArea来充当日志。 我的代码在下面,但我希望能够改变值等从另一个类,我可以调用时需要。我试图创建一个扩展初始化的控制器类,但我无法使它工作。有谁能指引我正确的方向吗?

  • 我正在我的一个项目中使用自动装配。在控制器中运行良好,但我需要在其他类中使用相同的自动装配对象,该类用作石英的任务类。自动装配在那里不起作用。 我尝试了下面列出的这段代码,但没有成功。在所有尝试中,它都为获取。 请提出解决方案,谢谢。

  • checkoutSheet(string $sheetName); 实例 $config = [ 'path' => './tests' ]; ​ $excel = new \Vtiful\Kernel\Excel($config); $fileObject = $excel->fileName("tutorial01.xlsx"); ​ $fileObject->header([

  • 每当我在eclipse上切换工作区时,我都会得到错误: 期间发生内部错误:“正在初始化 Java 工具”。重复的字段名称 如果我重启Eclipse,它就会正确地加载新的工作区。你知道我该怎么解决这个问题吗? 我在视窗 7 上使用日食开普勒