我很新于Symfony,所以我的问题可能看起来有些简单,但我需要帮助。
我已经生成了一个新的bundle。
我在Me\MyBundle\Resources\config\routing.yml
中添加了一个新的路由:
my_homepage:
pattern: /
defaults: { _controller: MeMyBundle:Default:index }
捆绑控制器在简单情况下看起来像这样:
namespace Me\MyBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
public function indexAction()
{
$form = $this->createFormBuilder()
->getForm()
;
return $this->render('MeMyBundle::index.html.twig', array(
'form' => $form->createView(),
'param1' => 'some_string_1',
'param2' => 'another string',
));
}
}
在twig模板中,我可以读取和处理想要的正确参数。整个操作发生在生成的表单中,其中有AJAX请求路由到另一个控制器。我想要实现的是创建一个新的自定义表单字段,在同一表单中可以多次重复使用,并具有不同的参数。例如,我希望我的indexAction()看起来像这样:
public function indexAction()
{
$paramsArr_1 = array(
'param1' => 'some_string_1',
'param2' => 'another string',
);
$paramsArr_2 = array(
'param1' => 'some_string_2',
'param2' => 'another fine string',
);
$form = $this->createFormBuilder()
->add(myCustomField, $paramsArr_1)
->add(myCustomField_2, $paramsArr_2)
->getForm()
;
return $this->render('MeMyBundle::index.html.twig', array(
'form' => $form->createView()
));
}
是的,我看到过这篇文章,但是它并没有对我有太大帮助。我无法使它正常工作。
非常感谢任何帮助。
buildView
(渲染过程),并为自己的字段类型创建小部件,在小部件中,您可以编写任何JS脚本、html标记等... - ZhukV