× Please submit new Bug Reports on GitHub: github.com/Jensen-Technologies/component-creator-issues/issues

Filters and Search are not loaded

8 years 5 months ago #1121 by Tim Best
Filters and Search are not loaded was created by Tim Best
Hey everybody,

on my latest component the filters and search fields are not showing up. Only the buttons for search and clear are there.
In older components then filtering works like a charm on the same system.
I checked back on another system and there the new component works

I investigated this a little bit and found out that the code has changed there and the $filter settings are not loaded.
I guess there was something changed that my strict server is not accepting.
PHP Notice:  Undefined variable: filtered in /var/www/html/services/intranet/cms/components/com_erp_extension/views/stammdatens/tmpl/default_filter.php on line 55,
PHP Notice:  Trying to get property of non-object in /var/www/html/services/intranet/cms/components/com_erp_extension/views/stammdatens/tmpl/default_filter.php on line 76,

Does anybody has an idea where to check first or should I provide more info about the systems?

Thank you in advance
Tim
Attachments:

Please Log in or Create an account to join the conversation.

8 years 5 months ago - 8 years 5 months ago #1125 by Randy Carey
Replied by Randy Carey on topic Filters and Search are not loaded
I ran into this, as well, a couple of days ago.  Using a debugger, I found the line to change...

First, my apologies... The first solution I posted here was incomplete.  I returned to the original template file to recall the exact problem.  Here is it is...

In the template file default_filter (site, for the view that lists the items), there is a block of code for all the dropdown filters.  In my file, this code is found on lines 37-38: <?
php if ($filters) : ?>
<?php foreach ($filters as $fieldName => $field) : ?>
The problem is that $filters is false, so the loop of displaying each filter is never run.  But this variable should be a collection of the available filters so that when the loop is run, each filter within that collection is displayed.

Now the fitler objects do exist - but the variable $filters never gets set to them.  Backtracking up the file, I see that filter is set with this conditional statement:
if (isset($data['view']->filterForm))
{
   $filters = $this->filterForm->getGroup('filter');
}
but the variable $data is null, so the condition is always false and the variable $filters is never set to the list of fitlers.  To correct that, I just  added this line (before the condition):
$filters = $this->filterForm->getGroup('filter');

So adding that one line should be all you need.


Returning to my earlier response, it is probably best to disregard....  My debugger was showing that $field->input
was null so I added the traditional line of code that creates the HTML for a field :  <?php echo $this->filterForm->getInput($fieldName); ?>  Since posting, I'm finding that echo $field->input; is indeed inserting the needed HTML - but for some reason my debugger still shows its value as being null until after this variable is echoed.  In short, the extra line to  ->getInput($fieldName) seems not to be needed.  Sorry for any confusion.

For what it's worth, the component where I stumbled upon this was for a 2.5 site.  
Last edit: 8 years 5 months ago by Randy Carey.
The following user(s) said Thank You: Tim Best

Please Log in or Create an account to join the conversation.

8 years 5 months ago #1131 by Tim Best
Replied by Tim Best on topic Filters and Search are not loaded
Thank you. I will try this asap and provide some feedback here.

Please Log in or Create an account to join the conversation.

Time to create page: 1.390 seconds
Powered by Kunena Forum

We use cookies so that you can place orders and we can provide a better service. You can control the use of cookies at the individual browser level. If you reject cookies, you may still use our website, but your ability to use some features or areas of our website may be limited.