Ver código fonte

[Form] Optimize rendering when the block to render is known

Victor Berchet 14 anos atrás
pai
commit
8670995574

+ 18 - 10
src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig

@@ -83,7 +83,7 @@
 {% block date_widget %}
 {% spaceless %}
     {% if widget == 'single_text' %}
-        {{ form_widget(form) }}
+        {{ block('field_widget') }}
     {% else %}
         <div {{ block('widget_container_attributes') }}>
             {{ date_pattern|replace({
@@ -107,37 +107,42 @@
 {% block number_widget %}
 {% spaceless %}
     {# type="number" doesn't work with floats #}
-    {{ form_widget(form, {"type": type|default('text')}) }}
+    {% set type = type|default('text') %}
+    {{ block('field_widget') }}
 {% endspaceless %}
 {% endblock number_widget %}
 
 {% block integer_widget %}
 {% spaceless %}
-    {{ form_widget(form, {"type": type|default('number')}) }}
+    {% set type = type|default('number') %}
+    {{ block('field_widget') }}
 {% endspaceless %}
 {% endblock integer_widget %}
 
 {% block money_widget %}
 {% spaceless %}
-    {{ money_pattern|replace({ '{{ widget }}': form_widget(form) })|raw }}
+    {{ money_pattern|replace({ '{{ widget }}': block('field_widget') })|raw }}
 {% endspaceless %}
 {% endblock money_widget %}
 
 {% block url_widget %}
 {% spaceless %}
-    {{ form_widget(form, {"type": type|default('url')}) }}
+    {% set type = type|default('url') %}
+    {{ block('field_widget') }}
 {% endspaceless %}
 {% endblock url_widget %}
 
 {% block search_widget %}
 {% spaceless %}
-    {{ form_widget(form, {"type": type|default('search')}) }}
+    {% set type = type|default('search') %}
+    {{ block('field_widget') }}
 {% endspaceless %}
 {% endblock search_widget %}
 
 {% block percent_widget %}
 {% spaceless %}
-    {{ form_widget(form, {"type": type|default('text')}) }} %
+    {% set type = type|default('text') %}
+    {{ block('field_widget') }} %
 {% endspaceless %}
 {% endblock percent_widget %}
 
@@ -150,17 +155,20 @@
 
 {% block password_widget %}
 {% spaceless %}
-    {{ form_widget(form, {"type": type|default('password')}) }}
+    {% set type = type|default('password') %}
+    {{ block('field_widget') }}
 {% endspaceless %}
 {% endblock password_widget %}
 
 {% block hidden_widget %}
-    {{ form_widget(form, {"type": type|default('hidden')}) }}
+    {% set type = type|default('hidden') %}
+    {{ block('field_widget') }}
 {% endblock hidden_widget %}
 
 {% block email_widget %}
 {% spaceless %}
-    {{ form_widget(form, {"type": type|default('email')}) }}
+    {% set type = type|default('email') %}
+    {{ block('field_widget') }}
 {% endspaceless %}
 {% endblock email_widget %}
 

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/date_widget.html.php

@@ -1,5 +1,5 @@
 <?php if ($widget == 'single_text'): ?>
-    <?php echo $view['form']->widget($form); ?>
+    <?php echo $view['form']->renderBlock('field_widget'); ?>
 <?php else: ?>
     <div <?php echo $view['form']->renderBlock('container_attributes') ?>>
         <?php echo str_replace(array('{{ year }}', '{{ month }}', '{{ day }}'), array(

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/email_widget.html.php

@@ -1 +1 @@
-<?php echo $view['form']->widget($form, array('type' => isset($type) ? $type : 'email')) ?>
+<?php echo $view['form']->renderBlock('field_widget', array('type' => isset($type) ? $type : 'email')) ?>

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/hidden_widget.html.php

@@ -1 +1 @@
-<?php echo $view['form']->widget($form, array('type' => isset($type) ? $type : "hidden")) ?>
+<?php echo $view['form']->renderBlock('field_widget', array('type' => isset($type) ? $type : "hidden")) ?>

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/integer_widget.html.php

@@ -1 +1 @@
-<?php echo $view['form']->widget($form, array('type' => isset($type) ? $type : "number")) ?>
+<?php echo $view['form']->renderBlock('field_widget', array('type' => isset($type) ? $type : "number")) ?>

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/money_widget.html.php

@@ -1 +1 @@
-<?php echo str_replace('{{ widget }}', $view['form']->widget($form), $money_pattern) ?>
+<?php echo str_replace('{{ widget }}', $view['form']->renderBlock('field_widget'), $money_pattern) ?>

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/number_widget.html.php

@@ -1 +1 @@
-<?php echo $view['form']->widget($form,  array('type' => isset($type) ? $type : "text")) ?>
+<?php echo $view['form']->renderBlock('field_widget',  array('type' => isset($type) ? $type : "text")) ?>

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/password_widget.html.php

@@ -1 +1 @@
-<?php echo $view['form']->widget($form,  array('type' => isset($type) ? $type : "password")) ?>
+<?php echo $view['form']->renderBlock('field_widget',  array('type' => isset($type) ? $type : "password")) ?>

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/percent_widget.html.php

@@ -1 +1 @@
-<?php echo $view['form']->widget($form,  array('type' => isset($type) ? $type : "text")) ?> %
+<?php echo $view['form']->renderBlock('field_widget',  array('type' => isset($type) ? $type : "text")) ?> %

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/search_widget.html.php

@@ -1 +1 @@
-<?php echo $view['form']->widget($form,  array('type' => isset($type) ? $type : "search")) ?>
+<?php echo $view['form']->renderBlock('field_widget',  array('type' => isset($type) ? $type : "search")) ?>

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/url_widget.html.php

@@ -1 +1 @@
-<?php echo $view['form']->widget($form,  array('type' => isset($type) ? $type : "url")) ?>
+<?php echo $view['form']->renderBlock('field_widget',  array('type' => isset($type) ? $type : "url")) ?>