Categories.catalog has no block definition page

We were trying to configure the main Shop by Category (categories.catalog) page.



This page does not follow the block rules of the category pages, which is fine, it’s good for it to be unique. But it doesn’t follow anything anywhere else either.



The only way to customize it is by what is active on the AllPages page. So extra blocks can be added only by adding it on AllPages, and disabling it everywhere else. If you want a AllPages block enables on certain pages but not the Catalog it is not possible.

I ran into this exact same issue last night. The categories.catalog page should follow the same block rules as the categories.view pages since they both use the controller categories. I spent some time last night trying to locate some code where the system might remove the categories.catalog from the categories controller grouping but I couldn’t find it. I’ll do some more digging around today.

Ok, I fixed this.



In the file “block_controllers.php” in the directory “/schemas/block_manager” change the following code:


'categories' => array(
'view' => 'categories'
),




to be this:


'categories' => array(
'view' => 'categories',
'catalog' => 'categories'
),




This makes it so the “categories.catalog” page will adopt and use the block structure for the “categories” layout.

Thanks, worked like a charm.



Happen to know how to include the search results page with category blocks?



They both list products so it seems to make sense.





Edit:

Got it.

Just for the record:


'controller' => array (
'method' => 'block_section_name'
)