我正在使用Willr的Silverstripe评论模块以及DataObjects作为Pages的实现。
评论模块允许您将注释附加到数据对象 - 我已经完成了。我遇到的问题是,当我尝试使用renderwith将自定义域从Datobject传递到模板时,传递的CommentsForm会呈现表单,但不会将通过传递的表单创建的任何注释与DataObject相关联。
这是我在PostsPageHolder上的动作和renderWith方法:
public function view($request) {
$segment = $request->param('ID');
if ($obj = Post::get()->filter('URLSegment', $segment)->First()) :
switch ($obj->Type) {
case 'News-Post' :
return $this->renderWith(
array('PostsPage_view_news', 'Page'),
array(
'Object' => $obj,
'Type' => $obj->Type,
'Title' => $obj->Title,
'Entry' => $obj->Entry,
'CommentsForm' => $obj->CommentsForm
)
);
break;
...
}
有没有人知道如何使用RenderWith()数组传递表单?
答案 0 :(得分:2)
尝试customise(array)
,如https://docs.silverstripe.org/en/3/tutorials/site_search/#showing-the-results
return $this->customise(array(
'Object' => $obj,
'Type' => $obj->Type,
'Title' => $obj->Title,
'Entry' => $obj->Entry,
'CommentsForm' => $obj->CommentsForm
))->renderWith(
array('PostsPage_view_news', 'Page')
);