Аналогично.... Лично я так и не смог осознать зачем было городить такой огород вокруг макета(layout) в базе, запихнуть его на вкладку Дизайн(!) и написать в доке что это URL(!)....
для себя лично я путь макета (layout->route) сделал путем к шаблону (.twig) как по мне - нативно это именно так и воспринимается в админке.
Мне нужно было для настройки шаблона продукта, потому правил так:
lдобавил функцию в
#/catalog/model/catalog/product.php
public function getProductLayoutRoute($product_id) {
$query = $this->db->query("SELECT route FROM " . DB_PREFIX . "layout_route r INNER JOIN " . DB_PREFIX . "product_to_layout pl ON (r.layout_id = pl.layout_id) WHERE pl.product_id = '" . (int)$product_id . "' AND pl.store_id = '" . (int)$this->config->get('config_store_id') . "'");
if ($query->num_rows) {
return $query->row['route'];
} else {
return 0;
}
}
а в контроллере подтянул и заменил вывод, если есть route
#/catalog/controller/product/product.php
$layoutRoute = $this->model_catalog_product->getProductLayoutRoute($this->request->get['product_id']);
if (!$layoutRoute){
$this->response->setOutput($this->load->view('product/product', $data));
}
else{
$this->response->setOutput($this->load->view($layoutRoute, $data));
}
ну и макет с путем и шаблон к макету конечно....