I have two custom blocks that I created in files placed in the modules/custom/mymodule/src/Plugin/Block folder.
I defined two extra regions in the mytheme.info.yml file I placed the blocks in the regions using the 'Block layout' page in the admin area.
It's all working great on all pages that use the "normal" twig template naming conventions, such as page.html.twig, page--front.html.twig and other templates I created based on the suggestions in the comments twig debug outputs.
My problems started when I created templates via a Controller. Here is an example from my routing.yml file:
mytheme.bikes:
path: '/catalog/Bikes'
defaults:
_controller: '\Drupal\mytheme\Controller\MyPageController::catalog_bikes'
_title: 'Bikes'
requirements:
_permission: 'access content'
And the controller:
public function catalog_bikes() {
return array(
'#type' => 'page',
'#theme' => 'page__bikes',
);
}
If i go on mysite.com/catalog/Bikes the page--bikes.html.twig template is loaded, BUT, without the extra regions I added to mytheme.info.yml file