|
@@ -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
|
|
.. _`__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()}})
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+
|