我有例如自定义表单类型:如何在自定义表单类型中生成绝对URL?
namespace Acme\SimpleBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class ExampleType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->setAction(****-----GENERATE-ROUTE-ABSOLUTE-URL-HERE-----****)
->add('email', 'text')
->add('send', 'submit');
}
public function getName()
{
return 'example';
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'error_bubbling' => true
));
}
}
怎样才能绝对URL(如http://example.com/admin/check_form)到我的路线?
$this->generateUrl()
不起作用,因为它不是一个控制器,并且$this->get('router')->generate()
也不起作用,我不知道为什么。
Afaik您可以将URL添加为字符串。没有什么需要产生,因为它不依赖任何东西,这是绝对的。我假设你是指你的项目之外的东西。 – colburton
那么,它应该是动态的,根据当前放置应用的域和目录。 – user3783550
如果它与您的项目有关,则必须有一个路线和一个控制器/操作。否则,发电机将不知道这应该指向哪里。 – colburton