【发布时间】:2020-06-04 15:31:59
【问题描述】:
我制作了一个插件,允许前端用户撰写新闻文章。这在本地的 Mac 上运行良好。但是,New 操作在表单的 __referrer 中给出了错误的大小写,导致 Linux 服务器(对大小写敏感)在:
Class Pen\Pennews\Controller\newsController does not exist. Reflection failed.
我的控制器
class NewsController extends NewsBaseController
...
/**
* New action
*
* @return void
*/
public function newAction()
{
$feUserUid = $GLOBALS['TSFE']->fe_user->user['uid'];
/** @var User $user */
$user = $this->frontendUserRepository->findByUid($feUserUid);
$this->view->assignMultiple([
'user' => $user
]);
}
表格
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:layout name="Default"/>
<f:section name="content">
<f:form action="create" name="newNews" controller="News" object="{newNews}">
<label for="pennews-title" class="pennews-title">Titel</label>
<f:form.textfield property="title" id="pennews-title" placeholder="Onderwep" required="required"/>
<label for="pennews-teaser" class="pennews-teaser">Teaser</label>
<f:form.textarea id="pennews-teaser" class="pennews-teaser-newPost" name="teaser" rows="3" placeholder="Korte teaser - optioneel"/>
<label for="pennews-bodytext" class="pennews-bodytext">Content</label>
<f:form.textarea id="pennews-bodytext" class="pennews-bodytext-newPost pen-form-textarea" name="bodytext" placeholder="Bericht"/>
<div class="pen-button pennews-new-button text-align-right">
<button class="button pennews-submit-news icon-left" type="submit"><i class="fas fa-pen-square"></i>Maak nieuw bericht</button>
</div>
</f:form>
</f:section>
</html>
部分表格来源(取自本地开发者):
<form name="newNews"
action="/vlaggensite?tx_pennews_entry%5Baction%5D=create&tx_pennews_entry%5Bcontroller%5D=News&cHash=4cc2809be1ea9f2f2d3e07a8e396981f"
method="post">
<div>
<input type="hidden" name="tx_pennews_entry[__referrer][@extension]" value="Pennews"/>
<input type="hidden" name="tx_pennews_entry[__referrer][@vendor]" value="Pen"/>
<input type="hidden" name="tx_pennews_entry[__referrer][@controller]" value="news"/>
<input type="hidden" name="tx_pennews_entry[__referrer][@action]" value="new"/>
<input type="hidden" name="tx_pennews_entry[__referrer][arguments]"
value="YTowOnt9dd9a70668d7db0e58fe5097a80fa26ab79028541"/>
<input type="hidden" name="tx_pennews_entry[__referrer][@request]"
value="a:4:{s:10:"@extension";s:7:"Pennews";s:11:"@controller";s:4:"news";s:7:"@action";s:3:"new";s:7:"@vendor";s:3:"Pen";}316417f03bf11f3d860053d7f0c1286795c3db22"/>
<input type="hidden" name="tx_pennews_entry[__trustedProperties]"
value="a:3:{s:7:"newNews";a:1:{s:5:"title";i:1;}s:6:"teaser";i:1;s:8:"bodytext";i:1;}b6e10b48e7d3acab8926ba3318ce3ce1fed6ea2d"/>
</div>
正如在动作中可见的那样,控制器是带有大写字母的新闻。然而,在引用者中,控制器的值“新闻” - 小写。什么可能导致这种情况,或者我如何用大写字母作为首字母来解决它?
【问题讨论】:
标签: typo3 extbase typo3-9.x typo3-extensions