Filtering by Topic Category in Page List
Permalink
Hello,
I'm considering to filter by Topic Category.
When I install c5.7 with sample data, I get reviews category, with four topic terms: gadgets, movies, books, and music.
My idea is, filtering by reviews = pickup pages with one of gadgets, movies, books, or music selected.
/concrete/src/Page/Pagelist.php has filterByTopic,
but this method assumes to filter by one Topic.
I'm considering to filter by Topic Category.
When I install c5.7 with sample data, I get reviews category, with four topic terms: gadgets, movies, books, and music.
My idea is, filtering by reviews = pickup pages with one of gadgets, movies, books, or music selected.
/concrete/src/Page/Pagelist.php has filterByTopic,
but this method assumes to filter by one Topic.
public function filterByTopic($topic) { if (is_object($topic)) { $treeNodeID = $topic->getTreeNodeID(); } else { $treeNodeID = $topic; } $this->query->innerJoin('cv', 'CollectionAttributeValues', 'cavTopics', 'cv.cID = cavTopics.cID and cv.cvID = cavTopics.cvID'); $this->query->innerJoin('cavTopics', 'atSelectedTopics', 'atst', 'cavTopics.avID = atst.avID'); $this->query->andWhere('atst.TopicNodeID = :TopicNodeID'); $this->query->setParameter('TopicNodeID', $treeNodeID); // $treeNodeID is int, not array }
In the composer it allows for pages to be assigned to categories, however the topic filter will not filter this down.
Will forward into their Github.