TYPO3为新闻扩展添加并实施行动

时间:2017-09-28 16:30:41

标签: php typo3 tx-news

在我的Configuration \ TCA \ Overrides \ tx_news_domain_model.php中我添加选项以选择如下字段:

$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()
    {
    ...
    }
}

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

2 个答案:

答案 0 :(得分:0)

第一个代码必须进入ext_localconf文件。请将完整代码上传至例如github.com以查看一般情况看起来不错

答案 1 :(得分:0)

我不知道我究竟做了什么来修复它,但是当我做我的研究时,我发现我的控制器路径是错误的,更改后我花了几个小时从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后,一切正常。