TYPO3 Extbase 表单引用错误的大小写
TYPO3 Extbase form referrer wrong casing
我制作了一个允许前端用户编写新闻文章的插件。这在本地 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>
从动作中可以看出,controller 是大写的 News。然而在 refererer 中,控制器的值是 "news" - 小写。是什么原因导致的,或者我如何将大写字母作为首字母来修复它?
已解决。 ext_localconf.php 我的控制器名称是小写的。
我制作了一个允许前端用户编写新闻文章的插件。这在本地 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>
从动作中可以看出,controller 是大写的 News。然而在 refererer 中,控制器的值是 "news" - 小写。是什么原因导致的,或者我如何将大写字母作为首字母来修复它?
已解决。 ext_localconf.php 我的控制器名称是小写的。