Na wstępie napiszę, że jestem zielony z Symfony. Próbuję zmodernizować tylko formularz kontaktowy na czyjejś, istniejącej już stronie.
W pliku ClientRequestType.php został dorzucony checkbox z labelem, w którym znajduje sie link. Problem taki, że przeglądarka nie wypluwa mi html'a.
<?php namespace Custom\ContactBundle\Form\Type; use Symfony\Component\Form\AbstractType, Symfony\Component\Form\CallbackValidator, Symfony\Component\Form\FormBuilder, Symfony\Component\Form\FormError, Symfony\Component\Form\FormInterface; class ClientRequestType extends AbstractType { { $builder->add('name', 'text', array('required'=>true, 'label'=>'contact_name','attr'=>array('placeholder'=>'Podaj swoje imię i nazwisko'))) ->add('phone', 'text', array('required'=>true, 'attr'=>array('placeholder'=>'Podaj swój nr telefonu'))) ->add('email', 'email', array('required'=>false, 'attr'=>array('placeholder'=>'Podaj swój adres email'))) ->add('captcha', 'captcha', array('attr'=>array('class'=>'captcha','placeholder'=>'Przepisz kod z obrazka'))) ->add('t3_accept', 'checkbox', array('attr'=>array('class'=>'t-accept'), 'property_path' => false, 'label'=>'Oświadczam, że zapoznałem się z <a href="#" target="_blank" download>Klauzulą Informacyjną</a> i akceptuję jej treść.')) ; $builder->addValidator(new CallbackValidator(function(FormInterface $form) { if (!$form["t3_accept"]->getData()) { $form->addError(new FormError('Proszę zapoznać się z Klauzulą informacyjną')); } }) ); } public function getName() { return 'client_request'; } }
W ścieżce /vendor/Symfony/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form
Dokopałem się do pliku form_label.html.php:
<?php if ($required) { $attr['class'] = (isset($attr['class']) ? $attr['class'] : '').' required'; } ?>
Czy tutaj można z nim podziałać?
Drugie pytanie, chociaż zapewne jest bardzo podstawowe. Po naniesieniu zmian w tych plikach, wystarczy wyczyścić katalog /app/cache/prod/twig/ czy czyści się cały katalog /app/cache/
