I found the answer, thanks for the help @jamesgarrett
The tabs were using shuffle.js so I needed to edit the page builder js file.
var $container = $('.sp-simpleportfolio-items');
var $sizer = $container.find('.shuffle__sizer');
By "anchor and jquery" you mean like the way bootstrap tabs work - ie. by letting the uri's fragment hit the id of the tab. But these tabs aren't set up like that. You can of course use jquery to trigger a click on the tab you want (via the fragment if that is useful) but that will trigger the animation that goes along with it. If you don't care about that ...
Include group name as the second parameter in renderField(), e.g.:
echo $this->filterForm->renderField('published', 'filter');
echo $this->filterForm->renderField('limit', 'list');
Or if you want to run a loop:
foreach ($this->filterForm->getGroup('filter') as $field)
Also, you could create a ...
Create a language override for the constant:
Extensions > Languages > Overrides
Create a new override
Type/paste "JGLOBAL_TYPE_OR_SELECT_SOME_OPTIONS" as the Language Constant
Type "Select a Tag" into the Text field.
Check "For both Locations" if you want it to say the same thing in the front and backend.
Save and close
This is the way to retrieve an input:
$jinput = JFactory::getApplication()->input;
$this->filterForm = $jinput->get('FilterForm', 'default_value', 'filter');
TIP: Take into account that if your don't specify a default_value, it will return null when no value is detected. If your don't specify a filter, it will apply a strict filter, CMD, for ...
The meaning of $state = $this->get('State'); is $state = $model->getState(); where $model is the current model of your view.
If your model is extending from JModelList, all your state variables are automatically populated (provided correct values present in request). Otherwise populate the state in your model's populateState function.
Using $_POST as array key in getArray() argument is producing a warning:
Warning: Illegal offset type
If your form is using form control (normally jform), you can get unfiltered data like this:
$post = $this->input->get('jform', array(), 'raw');
I think you answered your own question, there, so I'll just chime in with some extra detail.
First, I only rarely use any of the js wysiwyg editors for precisely this sort of reason; the take away your control over the data, and substitute the judgement of someone who has no idea what you need it to do.
The data attribute you mention isn't the cause; it ...
You are better served to GROUP BY item then execute your qualifying id_filters, special_filters, and other_filters conditions on the aggregate data via the HAVING clause.
For your db-fiddle demo...
GROUP BY item
MAX(CASE WHEN tag IN ('Used') THEN 1 ELSE NULL END)
AND MAX(CASE WHEN tag IN ('Brake') THEN 1 ELSE ...
I just spotted out my small but really basic, stupid mistake in my own code (above). So, of course I could not really expect that someone will come and stares at a lot of code and spot any mistake in a big amount of code right away. It took for me like 3 days to spot this tiny, but very annoying problem. The above code is OK, except one thing.
It's very ...
So, I didn't find out the mechanics of why this happens, but it does. I solved my problem by using this the Custom HTML Advanced module, which doesn't do any text filtering at all. Another solution would have been to use a custom module.