Search code examples
typo3extbasetypo3-9.xtypo3-extensions

TYPO3 Extbase form referrer wrong casing


I made a plugin which allows frontend users to write news articles. This works fine on the Mac locally. However the New action gives a wrong casing in the __referrer of the form, resulting on the Linux server (which is sensitive for casing) in:

Class Pen\Pennews\Controller\newsController does not exist. Reflection failed. 

My controller

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
    ]);
}

The form

<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>

Part of the source of the form (taken from local dev) :

<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>

As can be visible in the action, the controller is there News with a capital. However in the refererer the controller has the value "news" - lowercase. What could cause this or how can I fix it with a capital as first letter?


Solution

  • Solved. On ext_localconf.php I had the controllername lowercase.