2017-09-28 56 views
-1

在我的配置\ TCA \覆盖\ tx_news_domain_model.php我添加选项选择这样的领域:TYPO3添加和实施行动新闻延伸

$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“所以我的猜测是没有覆盖实际NewsController发生。 我的问题是,如果有可能以我的方式向控制器添加新动作(['Controller/NewsController'][])?如果不是,我可以通过其他方式实现吗?如果这样提供一个例子。

回答

0

我不知道我到底做了什么修复它,但是当我做了我的研究,我发现我的路径控制器是错误的,改变它后,我花了几个小时从BE清除缓存并重新安装扩展,但没有结果。在将function listAction() {}行添加到我的NewsController后,我终于得到了一个错误 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所有的作品都很好。

0

第一个代码必须进入ext_localconf文件。请上传完整的代码,例如github.com看看一般它看起来不错

+0

谢谢你的回应。除了** ext_emconf.php **文件和'if(!defined('TYPO3_MODE'))die('访问被拒绝');''部分外,没有更多的代码。我按照你的建议将第一部分的位置改为ext_localconf,把名字空间从'Vendor \ NewsExtender \ Controller \ NewsController'改为Vendor \ NewsExtender \ Controller',并将扩展键改为'newsextender',但没有成功。 –