如何在Opencart前端上接收模块ID

时间:2019-01-09 19:24:13

标签: opencart opencart-3 opencart-module

我正在尝试准备一个模块。 我需要module_id值。 我将使用module_id值绘制数据。 如何在正面的控制器中获取module_id。

2 个答案:

答案 0 :(得分:0)

您应该创建一个名为mymodule.php的模型文件,并在其中放置以下内容:

public function getModules() {
        $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "module` ORDER BY `code`");

        return $query->rows;
    }   
    you will get all modules data.

或者只能通过模块代码获得一个:

public function getModulesByCode($code) {
        $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "module` WHERE `code` = '" . $this->db->escape($code) . "' ORDER BY `name`");

        return $query->rows;
    }

然后在具有相应名称mymodule.php文件的控制器中,可以将其命名为:

 $modules = $this->model_extension_module->getModulesByCode($code);

$modules = $this->model_extension_module->getModules();

答案 1 :(得分:0)

Your suggestion may apply to single module.

My module has sub-modules.

But I found the solution.

Design layout have solved the work with files.

catalog / controller / common / common_left.php
catalog / controller / common / common_right.php
catalog / controller / common / head_top.php
catalog / controller / common / head_bottom.php

etc.

I added a starred code.

    if (isset($part[1])) {
        $setting_info = $this->model_setting_module->getModule($part[1]);

        if ($setting_info && $setting_info['status']) {
        ***** $setting_info["module_id"] = $part[1]; *****
            $output = $this->load->controller('extension/module/' . $part[0], $setting_info);

            if ($output) {
                $data['modules'][] = $output;
            }
        }
    }