[英]Typo3 Error with partial
我有這個動作:
/**
* updateForm action
*
* @param \Whmcs\Registration\Domain\Model\User $user
* @validate $user \Whmcs\Registration\Validation\Validator\ValidateValidator
* @return void
*/
public function updateFormAction(\Whmcs\Registration\Domain\Model\User $user)
{
$dbuser = $this->userRepository->getUserByMail($user->getEMailAddress())[0];
$this->view->assign('user',$dbuser);
}
使用此視圖:
<f:layout name="default" />
<f:section name="content">
<legend>Benutzerdetails hinzufuegen</legend>
<f:render partial="Error" arguments="{object:user}" />
<f:form action="update" object="{user}" name="user" arguments="{user:user}" additionalAttributes="{role:'form'}">
...
</f:form>
</f:section>
嘗試打開頁面時,我只會看到一個空白頁面。 在我的Apache error.log中,出現以下行:
PHP Fatal error: Call to a member function setParent() on a non-object in /var/www/typo3_src-6.2.x/typo3/sysext/extbase/Classes/Error/Result.php on line 216
如果我刪除
<f:render partial="Error" arguments="{object:user}" />
從視圖中刪除
$this->view->assign('user',$dbuser);
從操作中可以正確加載網站。
我嘗試渲染的部分包含以下內容:
<f:form.validationResults for="{object}">
<f:if condition="{validationResults.flattenedErrors}">
<div class="alert-box radius alert radius">
<f:for each="{validationResults.flattenedErrors}" as="errors" key="propertyPath">
<ul>
<f:for each="{errors}" as="error">
{error}
<br />
</f:for>
</ul>
</f:for>
</div>
</f:if>
</f:form.validationResults>
有人知道這個錯誤嗎?
問題可能是此行:
$dbuser = $this->userRepository->getUserByMail($user->getEMailAddress())[0];
除非您的QuerySettings包含“ setReturnRawQueryResult(TRUE)”,否則切勿將extbase結果視為數組。 要從結果中獲取第一個條目,請使用getFirst()。 這樣,您就不會破壞storageObject。 另一種方法是使用toArray()。
如果您執行“ print_r($ dbuser);” 使用當前代碼,您甚至應該通過extbase看到警告。
知道了
簡而言之,我忘了在視圖中添加'。 那就是我現在的樣子:
<f:layout name="default" />
<f:section name="content">
<legend>Benutzerdetails hinzufuegen</legend>
<f:render partial="Error" arguments="{object:'user'}" />
<f:form action="update" object="{user}" name="user" arguments="{user:'user'}" additionalAttributes="{role:'form'}">
...
</f:form>
</f:section>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.