我希望在Symfony2表单中添加HTML5的颜色输入类型(目前仅被Chrome支持)。我创建了一个继承自文本类型的新颜色类型:
<?php
namespace Marquis\WebsiteBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
class ColorType extends AbstractType
{
public function getParent()
{
return 'text';
}
public function getName()
{
return 'color';
}
}
?>
并创建了一个新的服务来使用它:
marquis_website.form.type.color:
class: Marquis\WebsiteBundle\Form\Type\ColorType
tags:
- { name: form.type, alias: color }
然而,当表单显示时,输入标签看起来像这样:
<input type="text" id="entity_hex" name="entity[hex]" value="#4D89BF">
因此,它没有使用新的HTML5颜色输入,而是使用文本输入。
是否有一种方法可以覆盖类型,使其显示type="color"?
我还检查了fields.html.twig文件,其中应该可以正常工作的是这一行:
{% set type = type|default('text') %}
如果我将默认值 ('text') 更改为默认值 ('color'),那么所有输入类型为 "text" 的将更改为类型 "color"。
感谢您的帮助,