Browse Source

Update troubleshooting.rst

added workaround for large filters problem
zhil 11 years ago
parent
commit
0aa0d34a6f
1 changed files with 23 additions and 0 deletions
  1. 23 0
      Resources/doc/reference/troubleshooting.rst

+ 23 - 0
Resources/doc/reference/troubleshooting.rst

@@ -28,3 +28,26 @@ So in order to avoid any fatal error, you must return an empty string (or anythi
 
 
 .. _`__toString`: http://www.php.net/manual/en/language.oop5.magic.php#object.tostring
+
+
+Large filters and long urls problem
+-------------------
+
+If you will try to add hundreds filters to single admin class, you will get a problem - very long filter form url generated.
+In most cases you will get server response like *Error 400 Bad Request* OR *Error 414 Request-URI Too Long*. According to 
+http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
+"safe" url length is just around 2000 characters.
+You can fix this issue by adding simple JQuery code on your edit template
+
+.. code-block:: javascript
+
+    $(function() {
+        // Add class 'had-value-on-load' to inputs/selects with values.
+        $(".sonata-filter-form input").add(".sonata-filter-form select").each(function(){ if($(this).val()) { $(this).addClass('had-value-on-load')}})
+        // REMOVE ALL EMPTY INPUT FROM FILTER FORM (except inputs, which has class 'had-value-on-load')
+        $(".sonata-filter-form").submit(function() {
+            $(".sonata-filter-form input").add(".sonata-filter-form select").each(function(){ if(!$(this).val() && !$(this).hasClass('had-value-on-load')) { $(this).remove()}})
+        });
+    });
+
+