From ab51e3c7f4e79d5f279bb586488c5de979a17fe0 Mon Sep 17 00:00:00 2001 From: Marc Ducobu Date: Mon, 10 Nov 2014 16:05:26 +0100 Subject: [PATCH] Title for custom Field : class title or subtile --- CustomFields/CustomFieldTitle.php | 17 +++++++++++++++-- Resources/views/Form/fields.html.twig | 11 +++-------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/CustomFields/CustomFieldTitle.php b/CustomFields/CustomFieldTitle.php index 02f532220..3f3315152 100644 --- a/CustomFields/CustomFieldTitle.php +++ b/CustomFields/CustomFieldTitle.php @@ -28,6 +28,10 @@ use Symfony\Component\HttpFoundation\RequestStack; class CustomFieldTitle implements CustomFieldInterface { + const TYPE = 'type'; + const TYPE_TITLE = 'title'; + const TYPE_SUBTITLE = 'subtitle'; + private $requestStack; public function __construct(RequestStack $requestStack) @@ -38,7 +42,11 @@ class CustomFieldTitle implements CustomFieldInterface public function buildForm(FormBuilderInterface $builder, CustomField $customField) { $builder->add($customField->getSlug(), 'custom_field_title', array( - 'label' => $customField->getName()[$this->requestStack->getCurrentRequest()->getLocale()] + 'label' => false, + 'attr' => array( + 'title' => $customField->getName()[$this->requestStack->getCurrentRequest()->getLocale()], + self::TYPE => $customField->getOptions()[self::TYPE ] + ) )); } @@ -64,6 +72,11 @@ class CustomFieldTitle implements CustomFieldInterface public function buildOptionsForm(FormBuilderInterface $builder) { - return $builder; + return $builder->add(self::TYPE, 'choice', + array('choices' => array( + self::TYPE_TITLE => self::TYPE_TITLE, + self::TYPE_SUBTITLE => self::TYPE_SUBTITLE + )) + ); } } diff --git a/Resources/views/Form/fields.html.twig b/Resources/views/Form/fields.html.twig index a901512f9..c85173650 100644 --- a/Resources/views/Form/fields.html.twig +++ b/Resources/views/Form/fields.html.twig @@ -1,9 +1,9 @@ {% block custom_field_title_widget %} -dump(attr) -{# suggestion : {{ dump(form) }} to see all attributes from the form and pick the value or label #} + + {{ form.vars.attr.title }} + {% endblock custom_field_title_widget %} - {# render an alement in a choice list #} {% block cf_choices_list_widget %} @@ -74,11 +74,6 @@ jQuery(document).ready(initialize_{{ form.vars.id }}('ul_' + '{{ form.vars.id }} {% endblock cf_choices_widget %} - - - - - {% block choice_with_other_widget %}

echo