TYPO3 添加并执行新闻扩展的操作

TYPO3 add and implement action for news extension

在我的 Configuration\TCA\Overrides\tx_news_domain_model.php 中,我将选项添加到 select 字段,如下所示:

$GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['switchableControllerActions']['newItems']['News->gallery'] = 'Gallery view';

在我的ext_localconf.php

$GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['classes']['Controller/NewsController'][] = 'news_extender';

在我的分机中

namespace Vendor\NewsExtender\Controller\NewsController;

class NewsController extends \GeorgRinger\News\Controller\NewsContoller {

    public function galleryAction()
    {
    ...
    }
}

我得到一个错误:控制器中不存在一个动作"galleryAction" "GeorgRinger\News\Controller\NewsController" 所以我的猜测是没有覆盖实际的 NewsController。 我的问题是是否可以按照我的方式向控制器添加新操作 (['Controller/NewsController'][])?如果没有,我可以通过其他方式实现吗?如果是,请提供示例。

第一个代码必须进入 ext_localconf 文件。请将完整代码上传到例如 github.com 以查看,总体来说它看起来不错

我不知道我到底做了什么来修复它,但在我进行研究时我发现我的控制器路径是错误的,在更改它之后我又花了几个小时从 BE 中清除缓存并重新安装扩展没有结果。在我的 NewsController 添加行 function listAction() {} 之后,我终于得到了一个错误 Fatal error: Cannot redeclare GeorgRinger\News\Controller\NewsController::listAction() in D:\live_system\typo3\typo3_src\typo3temp\Cache\Code\news\tx_news_controller_newscontroller.php on line 618。再次手动清除 Typo3temp/Cache 并从我的控制器中删除 listAction 后一切正常。