以前我们使用position(content_top/content_bottom)
在模块页面(扩展/模块)中为特定模块设置
现在在 Opencart 2.0 中,我们position(content_top/content_bottom)
在特定的布局页面(系统/设计/布局)中设置和模块
$setting['position'];
这就是您在模块的控制器中没有的原因。
如果您只想position(content_top/content_bottom)
在所需的控制器中使用此代码。
$this->load->model('design/layout');
if (isset($this->request->get['route'])) {
$route = (string)$this->request->get['route'];
} else {
$route = 'common/home';
}
$layout_id = 0;
if ($route == 'product/category' && isset($this->request->get['path'])) {
$path = explode('_', (string)$this->request->get['path']);
$layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path));
}
if ($route == 'product/product' && isset($this->request->get['product_id'])) {
$layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']);
}
if ($route == 'information/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');
}
$data['modules'] = array();
$modules = $this->model_design_layout->getLayoutModules($layout_id, 'content_top');
它将返回分配给的模块content_top