Opencart 2 通过 id 加载布局

Opencart 2 load layout by id

在 opencart 中我有信息布局 id,它是自定义的而不是默认的。如何通过此 ID 加载自定义布局?

是否可以在其中一个信息页面中使用自定义模板?

//loading Layout

=> 而 adding/Editing 信息页面在设计选项卡下,您可以动态覆盖布局,这是更可取的。

=> 或者您可以根据每个文件 contente_top, content_button, column_left and Column_right 的条件手动传递 layout_id,我不建议这样做。

$modules = $this->model_design_layout->getLayoutModules($layout_id, 'column_left');

//Creating Layout

要创建自定义布局,您首先需要创建新控制器和视图 (findhere),之后您可以通过继续admin/system/design/layout 为您的新 [=18] 添加自己的布局=]

//loading custom template

如果你想为特定信息页面加载自定义模板,你可以根据你的条件传递 custom tpl 文件,创建 yourfile.tpl

转到catalog/controller/information/information.php:49

在这里检查条件并传递您的视图磁贴。

if($information_id==your_condition){
   $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/information/yourfile.tpl', $data));
}else{
   $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/information/information.tpl', $data));
}