我将Kendo UI用作Symfony2.3.4应用程序的前端库,并尝试建立与Controllers和Twig模板引擎一起使用的最佳实践。我的问题特定于Kendo PHP包装器库,该库允许轻松实例化Kendo对象。
问题是将那些对象传递到树枝模板。例如:
// ItemController.php public function addAction(){ $options = ['option1', 'option2', 'option3'] $dropdown = new \\Kendo\UI\DropDownList($options); $select = $dropdown->render(); return $this->render('TestBundle:Titles:add.html.twig', ['options' = $options, 'dropdown' => $dropdown, 'select' => $select]; }
使用此控制器,我可以将Kendo对象($ dropdown)传递到模板中,但是实际呈现的下拉菜单($ select)会引发数组错误字符串。现在,我仍然可以使用$ options数组在模板中呈现对象:
// add.html.twigAdd Item
{{ dump(dropdown) }} {{ dump(select) }}
在Symfony2 / Twig系统中,似乎没有有效的方法将html的字符串片段传递到模板中。我仍然可以在模板中渲染下拉列表(通过使用$ options数组),但是拥有PHP Kendo对象有什么用?
另外,说我对每个项目都有一个所有者,我想在ItemController的addAction中创建一个所有者选项下拉列表吗?我可以在OwnerController中有一个selectAction来为Owner下拉列表或Owners数组返回html吗?
Symfony 1. *的插槽似乎已经处理了这种类型的布局,但是尚不清楚如何使用Symfony2和Twig进行布局。
在Symfony中处理表单构建的“最佳实践”方法是什么……尤其是当您以一种形式从多个实体(项目和所有者)进行调用时?
和/或是否有一种方法可以为标准Symfony2控制器中的Kendo UI中的JS对象正确使用PHP包装器?