Filtering Page List via Topic List block not working

I’ve added a stack containing a page list block to a page. I’ve ticked Enable Other Blocks to Filter This Page List. I’ve added a Topic List block to the page. If I set it to Mode: Page, it lists no topics – even though the pages in the page list all have topics set. If I set it to Mode: Search, it doesn’t filter the Page List block.

I’m using Modena as the theme. The page list block is set to the Default template so it’s not an ovveride issue.

Thanks for any thoughts / feedback!

Just for reference, can you let us know what version of Concrete / PHP you’re running on? Or plug in the environment info? Just so we have all the variables covered.

Does it work if you put both blocks directly on a page and not display them through the stack? I ran into a similar wormhole the other day using a stack for something and it wouldn’t work unless the blocks were actually on the page…

Hey Enlil. You’re exactly right - topic filtering doesn’t work if the the page list is in a stack. I’m pretty sure it worked on earlier versions.

Works fine if the topic filter is a stack and the page list is manually added to the page.

Fortunately, all the pages on my site that are affected are of the same page type. I’ve got around the bug by manually adding the page list to my page type default output and copying it to child pages. This works fine :+1:

Works if your topic filter is set to “Mode : Search”. Fails to pick up topics from the page list when set to “Mode: Page”

Concrete Version

Core Version - 9.2.7
Version Installed - 9.2.7
Database Version - 20240122172319





Database Information

Version: 5.7.39
Character Set: utf8mb4
Collation: utf8mb4_unicode_ci

Concrete Packages

Community Store (2.6.4), HTML+PHP Code Block (1.0.2), Likes This! (2.0.1), Macareux Stripe Subscription (2.0.4), Mind Body Maintenance package (0.9.8), Modena Theme (2.2.0), Stripe Checkout Payment Method (1.2)

Concrete Overrides

blocks/vimeo/add.php, blocks/vimeo/icon.png, blocks/vimeo/controller.php, blocks/vimeo/composer.php, blocks/vimeo/scrapbook.php, blocks/vimeo/db.xml, blocks/vimeo/view.php, blocks/vimeo/edit.php, blocks/vimeo/LICENSE.TXT, blocks/vimeo/form_setup_html.php, blocks/vimeo, blocks/favourites_list/icon.png, blocks/favourites_list/controller.php, blocks/favourites_list/view.php, blocks/favourites_list/templates/mbm_masonry_blog/view.php, blocks/favourites_list/templates/mbm_masonry_blog, blocks/favourites_list/templates, blocks/favourites_list/view.js, blocks/favourites_list/view.css, blocks/favourites_list, controllers/single_page/admin/classes copy 2.php, controllers/single_page/admin/classes.php, controllers/single_page/admin/classes copy.php, controllers/single_page/admin, controllers/single_page, jobs/get_vimeo_data.php, single_pages/admin/classes/view copy.php, single_pages/admin/classes/view.php, single_pages/admin/classes, single_pages/admin, single_pages/members/view.php, single_pages/members/directory.php, single_pages/members/profile.php, single_pages/members, single_pages/account/icon.png, single_pages/account/edit_profile.php, single_pages/account/avatar.php, single_pages/account/view.php, single_pages/account/messages.php, single_pages/account

Concrete Cache Settings

Block Cache - Off
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

Database Entities Settings

Doctrine Development Mode - Off

Server Software

Apache/2.4.54 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141 OpenSSL/1.0.2u mod_wsgi/3.5 Python/2.7.18

Server API


PHP Version


PHP Extensions

bcmath, bz2, calendar, cgi-fcgi, Core, ctype, curl, date, dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, intl, json, ldap, libxml, mbstring, mysqli, mysqlnd, OAuth, openssl, pcntl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, readline, Reflection, session, SimpleXML, soap, sockets, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib

PHP Settings

max_execution_time - 300
log_errors_max_len - 1024
max_file_uploads - 16
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 2500
memory_limit - 512M
post_max_size - 256M
upload_max_filesize - 128M
ldap.max_links - Unlimited
mbstring.regex_retry_limit - 1000000
mbstring.regex_stack_limit - 100000
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - no value
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
unserialize_max_depth - 4096

Can’t you just make a global area and then put them in there?

Hey @ TMDesigns. Thanks for the suggestion, but I don’t want it on every page.

Then you create a bespoke template in the theme that contains the global area and then apply it to any page you want it on

@simonchilton awesome that you found a solution I believe there may be more of an underlying problem here though. I’m working on a package to better manipulate canonical URLs both on profile pages and on pages where there’s multiple paginated page lists. I’m remembering now that the issue I was running into the other day is that if the page lists are in a stack and then displayed on the page the allowed query string variables are never injected so the canonical URLs when those lists are paginated are not correct. I set this aside for further investigation I may have to dig in sooner than I thought!