TYPO3 Extbase表格引用者错误的套管。

问题描述 投票:1回答:1

我做了一个插件,允许前台用户写新闻文章。这在本地Mac上工作得很好,但是New动作在表单的__referrer中给出了错误的套管。然而New action在表单的__referrer中给出了一个错误的casing,导致在Linux服务器上(对casing很敏感)。

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&amp;tx_pennews_entry%5Bcontroller%5D=News&amp;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:&quot;@extension&quot;;s:7:&quot;Pennews&quot;;s:11:&quot;@controller&quot;;s:4:&quot;news&quot;;s:7:&quot;@action&quot;;s:3:&quot;new&quot;;s:7:&quot;@vendor&quot;;s:3:&quot;Pen&quot;;}316417f03bf11f3d860053d7f0c1286795c3db22"/>
    <input type="hidden" name="tx_pennews_entry[__trustedProperties]"
           value="a:3:{s:7:&quot;newNews&quot;;a:1:{s:5:&quot;title&quot;;i:1;}s:6:&quot;teaser&quot;;i:1;s:8:&quot;bodytext&quot;;i:1;}b6e10b48e7d3acab8926ba3318ce3ce1fed6ea2d"/>
</div>

在动作中可以看到,控制器是大写的新闻。但是在引用者中,控制器的值是 "news"-小写。是什么原因造成的,或者说我怎么能用大写字母作为首字母来解决这个问题?

typo3 extbase typo3-9.x typo3-extensions
1个回答
0
投票

解决了。在ext_localconf.php中,我的controllername是小写的。

© www.soinside.com 2019 - 2024. All rights reserved.