我創建了一個名爲Play
的自定義模型,它的屬性Title
和Body
與獲取者和設置者。FLUID中的窗體對象中的錯誤TYPO3
在我的控制器Master
之一,我有new and create actions
public function newAction(\TYPO3\Playground\Domain\Model\Play $newPlay = NULL) {
$this->view->assign('newPlay', $newPlay);
}
我的視圖看起來是這樣的:
<table>
<f:form action="create" name="newPlay" object="{newPlay}">
<th>Title:</th>
<td>
<f:form.textfield property="title"/>
</td>
<th>Body:</th>
<td>
<f:form.textarea property="body"/>
</td>
</th>
<tr>
<td>
<f:form.submit value="Create"/>
</td>
</tr>
</f:form>
</table>
但在控制我創建的功能我得到這個錯誤必需的參數「 newPlay「未設置。
public function createAction(\TYPO3\Playground\Domain\Model\Play $newPlay) {
echo $newPlay->getBody();
echo $newPlay->getTitle();
}
我在這裏錯過了什麼嗎?
更新
後匹配名稱的對象和刪除的屬性字段括號,這是錯誤:
,而在屬性路徑「」屬性映射異常:無轉換器找到可用於將數組轉換爲「TYPO3 \ Playground \ Domain \ Model \ Play」。
我對IT解決方案
我非常肯定有一個整潔的方式比這
public function createAction() {
$newPlayArray=$this->request->getArgument('newPlay');
$newPlay = json_decode(json_encode($newPlayArray), FALSE);
echo $newPlay->title;
}
它仍然顯示我同樣的錯誤!我也清除了緩存。 – dora
您還需要刪除屬性名稱{{}}和{{body}'中的括號,否則該屬性將填充變量值。 – Merec
我是否需要將傳遞的對象轉換成某個地方?請檢查我的更新 – dora