GenemuFormBundle - jQuery评级 - 呈现为星形的令牌输入

时间:2014-07-02 10:28:34

标签: symfony jquery-plugins

我正在使用基于Symfony2的网站,使用GenemuFormBundle作为使用jQuery评级插件的评级系统。

当我使用捆绑包中的FormType时,我最后总会有一个星形。它是正在呈现的隐藏输入令牌。

我的猜测是,初始化jquery-rating插件的js部分并不过滤输入标签。但我不知道要改变什么,它可能是我的FormType配置。该文档的文档很清楚。

有谁知道如何解决这个问题?

这是我的测试代码(PHP):

$options = array('number' => 5, 'configs' => array('readOnly' => true));

$form = $this->container->get('form.factory')->create(new RatingType(), 2, $options);

return $this->templating->render($name, $parameters + array(
    'ratingForm'  => $form->createView()
));

TWIG:

{{form_widget(ratingForm)}}
{{form_javascript(ratingForm)}}

结果是6星评级。前5个是好的但是当悬停在最后一个时,标题是标记值。

由于

1 个答案:

答案 0 :(得分:0)

好的,所以我找到了解决问题的方法。

这是因为csrf保护令牌输入与评级输入具有相同的名称。 (我猜它是因为formtype不应该像这样使用)所以当jQuery部分将其魔法应用于具有相同名称的所有输入时,它也会获取令牌。

我为避免这种情况所做的是向formType添加选项'csrf_protection' => false

$options = array('number' => 5, 'configs' => array('readOnly' => true), 'csrf_protection' => false);