TYPO3 13.4中自定义sf_event_mgt的EventController的icalAction被忽略问题求助
TYPO3 13.4中自定义sf_event_mgt的EventController的icalAction被忽略问题求助
大家好,我最近在给TYPO3 13.4的站点做功能,想加一个按钮让用户通过webcall://链接订阅活动日历,用type=9819来触发对应的功能。但现在遇到个麻烦:我自定义的icalAction完全被忽略了,TYPO3反而用了sf_event_mgt扩展自带的listAction。我用的是自己的站点包,希望能通过Fluid模板来控制输出。
先给大家看下我的文件夹结构:
/packages └── studilife ├── Classes │ └── Controller │ └── EventController.php ├── Configuration │ └── Sets │ └── Studilife │ └── TyposScript │ └── setup.typoscript ├── Resources │ └── Private │ └── Extensions │ └── SfEventMgt │ └── Templates │ └── Event │ └── Ical.html └── ext_localconf.php
下面是我目前写的代码:
ext_localconf.php
$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects'][\DERHANSEN\SfEventMgt\Controller\EventController::class] = [ 'className' => \Student\Studilife\Controller\EventController::class, ]; \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SfEventMgt', 'Event', [ \DERHANSEN\SfEventMgt\Controller\EventController::class => 'list,detail,register,ical' ], [] );
setup.typoscript
plugin.tx_sfeventmgt { view { templateRootPaths { 100 = EXT:studilife/Resources/Private/Extensions/SfEventMgt/Templates/ } partialRootPaths { 100 = EXT:studilife/Resources/Private/Extensions/SfEventMgt/Partials/ } layoutRootPaths { 100 = EXT:studilife/Resources/Private/Extensions/SfEventMgt/Layouts/ } } settings { calendar{ showWeekNumber = 0 } } } pageEventICalendar = PAGE pageEventICalendar { typeNum = 9819 settings.format = txt config { disableAllHeaderCode = 1 xhtml_cleaning = none admPanel = 0 metaCharset = utf-8 locale_all = en_EN additionalHeaders.10.header = Content-Type:text/calendar;charset=utf-8 disablePrefixComment = 1 linkVars > } 10 = USER 10 { userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run extensionName = SfEventMgt pluginName = Event vendorName = DERHANSEN controller = Event action = ical } }
EventController.php
<?php namespace Student\Studilife\Controller; class EventController extends \DERHANSEN\SfEventMgt\Controller\EventController { public function icalAction() { $events = $this->eventRepository->findAll(); $this->view->assign('events', $events); $this->view->setFormat('txt'); header('Content-Type: text/calendar; charset=utf-8'); header('Content-Disposition: attachment; filename="events.ics"'); } }
我现在的核心问题就是想让TYPO3识别到我自定义的这个icalAction,目前TypoScript看起来是正常的,但我的EventController.php完全没起作用。这是我第一次尝试修改扩展的默认行为,估计是漏掉了某个基础的配置步骤。我也去查了TYPO3的官方文档关于Xclasses的部分,但还是没找到问题所在。
有没有大佬能帮我看看哪里错了呀?谢谢大家!
内容来源于stack exchange
相关产品推荐
相关产品推荐

