Adicionando novas posições de módulos ao OpenCart 2

Quero adicionar mais Posições para módulos. Como posso adicionar uma nova posição de módulo no opencart 2?

Aqui, eu gosto dessa informação. Mas, funciona apenas para a versão anterior do OpenCart. http://www.opencartnews.com/tutorials/adding-new-modules-positions/

Como o mesmo pode ser alcançado no Opencart 2?

Por favor ajude…!

Você pode conseguir isso modificando o seguinte arquivo principal.

  1. admin / view / template / design / layout_form.tpl adicione sua nova posição nesta etiqueta de seleção

    < ?php foreach ($extensions as $extension) { ?> < ?php if (!$extension['module']) { ?> < ?php if ($extension['code'] == $layout_module['code']) { ?> < ?php } else { ?> < ?php } ?> < ?php } else { ?> < ?php foreach ($extension['module'] as $module) { ?> < ?php if ($module['code'] == $layout_module['code']) { ?> < ?php } else { ?> < ?php } ?> < ?php } ?> < ?php } ?> < ?php } ?>

< ?php $module_row++; ?> < ?php } ?> < ?php } ?>

2] Agora encontre a function addModule () e encontre a linha abaixo

 $('#module-column-left, #module-column-right, #module-content-top, #module-content-bottom ').delegate 

Agora adicione # módulo-conteúdo-rodapé

 $('#module-column-left, #module-column-right, #module-content-top, #module-content-bottom , #module-content-footer').delegate( 

A mesma maneira abaixo da linha para o gatilho

 $('#module-column-left, #module-column-right, #module-content-top, #module-content-bottom , #module-content-footer' ).trigger 

3] Em admin / controller / design / layout.php, encontre a function abaixo

 protected function getForm() 

e essa linha nele

 $data['text_content_footer'] = $this->language->get('text_content_footer'); 

4] Agora adicione a seguinte linha em admin / language / en-gb / layout.php

 $_['text_content_footer'] = 'Content Footer'; 

Mudança de arquivos do lado da frente

1] Crie um novo arquivo de modelo no catálogo / view / theme / themename / template / common / content_footer.tpl

 < ?php foreach ($modules as $module) { ?> 

2] Crie um novo arquivo de controlador no Catálogo / controlador / common / content_footer.php e coloque o código abaixo

  < ?php class ControllerCommonContentFooter extends Controller { public function index() { $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'])) { $this->load->model('catalog/category'); $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'])) { $this->load->model('catalog/product'); $layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']); } if ($route == 'information/information' && isset($this->request->get['information_id'])) { $this->load->model('catalog/information'); $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'); } $this->load->model('extension/module'); $data['modules'] = array(); $modules = $this->model_design_layout->getLayoutModules($layout_id, 'content_footer'); foreach ($modules as $module) { $part = explode('.', $module['code']); if (isset($part[0]) && $this->config->get($part[0] . '_status')) { $module_data = $this->load->controller('extension/module/' . $part[0]); if ($module_data) { $data['modules'][] = $module_data; } } if (isset($part[1])) { $setting_info = $this->model_extension_module->getModule($part[1]); if ($setting_info && $setting_info['status']) { $output = $this->load->controller('extension/module/' . $part[0], $setting_info); if ($output) { $data['modules'][] = $output; } } } } return $this->load->view('common/content_footer', $data); }} 

3] Agora adicione a seguinte linha no catálogo / controlador / common / home.php

 $data['content_footer'] = $this->load->controller('common/content_footer'); 

4] Finalmente, para mostrar a posição na página inicial, você adicionará

 < ?php echo $content_footer; ?> 

para catalogar / visualizar / tema / nome / modelo / comum / home.tpl

insira a descrição da imagem aqui