I have a route that takes a wildcard $product and then loads a default node that is stored in config. This is working (i.e. the node is rendered on that path) but instead of the node title it is displaying the route title 'Default Product List'.
Any ideas?
Routing.yml
default_product_list.generate_default_product_list:
path: '/destinations/{region}/{area}/{town}/{product}'
defaults:
_controller: '\Drupal\default_product_list\Controller\DefaultProductListController::generateDefaultProductList'
_title: 'Default Product List'
requirements:
_permission: 'access content'
method: [GET]
Controller
/**
* Generatedefaultproductlist.
*
*/
public function generateDefaultProductList($region, $area, $town, $product) {
$vars = [
$region,
$area,
$town,
$product
];
$config = $this->config('default_product_list.defaultproductlist');
$data = $config->get();
if ($product === 'accomodation') {
if (isset($data['default_accomodation_product'])) {
$node = $this->defaultProductListUtility->loadDefaultNode($data['default_accomodation_product']);
if (isset($node)) {
$view_builder = $this->entityTypeManager()->getViewBuilder('node');
$build = $view_builder->view($node);
// kint(array($build));
return array($build);
}
}
}
}