在我的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'][]
)?如果没有,我可以通过其他方式实现吗?如果是这样提供一个例子。
答案 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
后,一切正常。