Opencart получает текущий layout_id

Я создал пользовательский макет и планировал скрыть продукты только для тех страниц, которым назначен пользовательский макет.

Есть ли способ получить текущий идентификатор макета?

Например, предположим, что мой пользовательский layout_id равен 10, я планировал использовать цикл, как показано ниже, чтобы скрыть/показать продукты.

if (current_layout_id != 10) {
  // Display products
}else {
  // Hide Products
}

person Vin_fugen    schedule 09.07.2013    source источник


Ответы (1)


найти идентификатор макета текущей отображаемой страницы модуля

if (isset($this->request->get['route'])) { 
        $route = $this->request->get['route']; 
    } else { 
        $route = 'common/home'; 
    }
    $layout_id = 0;
    if (substr($route, 0, 16) == 'product/category' && isset($this->request->get['path'])) {
        $path = explode('_', (string)$this->request->get['path']);
        $layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path));
    }
    if (substr($route, 0, 16) == 'product/product' && isset($this->request->get['product_id'])) {
        $layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']);
    }
    if (substr($route, 0, 16) == 'product/information' && isset($this->request->get['information_id'])) {
        $layout_id = $this->model_catalog_information->getInformationLayoutId($this->request->get['information_id']);
    }
    if (!$layout_id) { $layout_id = $this->model_design_layout->getLayout($route); }
    if (!$layout_id) { $layout_id = $this->config->get('config_layout_id'); }

конец поиска идентификатора макета

person Sanjay    schedule 08.08.2013