Hi
I think I have come across a bug, or could you please help me to solve this?
Once again, seblod can do amazing things, but I find myself very frustrated.
I have a simple list type, with two fields. The one is a on / off switch like featured, and the other is a category select multiple. I have set the select multiple to NOT IN in the exclusion settings, but I find the results still contains those categories I am trying to exclude.
I am using live values, and I have also manually appended variables to the URL. I am running it inside a module as well, and it's simply not doing what I want it to do.
At closer inspection, I looked at the query and noticed that the catid is taken from the `#__cck_store_item_content` cck table and not #__content
This is the debug query generated by SEBLOD:
SELECT t0.id as pid, t0.pk as pk, t0.pkb as pkb,t0.cck as cck,
t0.storage_location as loc,tt.id AS type_id, tt.alias AS type_alias
FROM `#__cck_core` AS t0
LEFT JOIN `#__cck_store_item_content` AS t1 ON t1.id = t0.pk
LEFT JOIN `#__content` AS t2 ON t2.id = t0.pk
LEFT JOIN `#__cck_core_types` AS tt ON tt.name = t0.cck
WHERE t2.state = 1 AND t2.access IN (1,1,2,3,6) AND ( t2.publish_up =
'0000-00-00 00:00:00' OR t2.publish_up <= '2014-06-25 20:41:02' )
AND ( t2.publish_down = '0000-00-00 00:00:00' OR t2.publish_down >=
'2014-06-25 20:41:02' ) AND t1.catid NOT IN ('290','754','253','756')
AND t0.cck = 'directory' AND t2.restrictions = '1'
GROUP BY t0.pk
ORDER BY t2.title ASC
0.034 seconds (0.034); 15.84 MB (15.836) - afterSearch [Cache=OFF] = 118 results.
0.221 seconds (0.186); 18.97 MB (3.135) - afterRender [Cache=OFF]
This is the same query I ran in phpmyadmin, but I changed it as you can see below and it now gives the correct filtered results.
AND t2.catid NOT
IN ( '754', '253', '290', '756'
)
SELECT t0.id AS pid, t0.pk AS pk, t0.pkb AS pkb, t0.cck AS cck, t0.storage_location AS loc, tt.id AS type_id, tt.alias AS type_alias, t2.catid AS catid, t2.title AS title
FROM `njg4v_cck_core` AS t0
LEFT JOIN `njg4v_cck_store_item_content` AS t1 ON t1.id = t0.pk
LEFT JOIN `njg4v_content` AS t2 ON t2.id = t0.pk
LEFT JOIN `njg4v_cck_core_types` AS tt ON tt.name = t0.cck
WHERE t2.state =1
AND t2.access
IN ( 1, 1, 2, 3, 6 )
AND (t2.publish_up = '0000-00-00 00:00:00'
OR t2.publish_up <= '2014-06-25 19:58:23'
)
AND (t2.publish_down = '0000-00-00 00:00:00'
OR t2.publish_down >= '2014-06-25 19:58:23'
)
AND t0.cck = 'directory'
AND t2.catid NOT
IN ( '754', '253', '290', '756'
)
AND t2.restrictions = '1'
GROUP BY t0.pk
ORDER BY t2.title ASC
LIMIT 0 , 30
Do you know how I can solve this issue?
Does it have anything to do with using the same listing type more than once on a page? I use it for several modules.