0

关于打开购物车的快速问题,扩展状态和位置设置在哪里?我可以在代码中看到

$postion = $this->config->get($extension . '_position');

并且

'status'      => $this->config->get($extension . '_status') 

但是我看不到这些是在哪里定义的?

4

2 回答 2

1

首先,查看您的扩展文件(例如“payment/free_checkout.php”)并搜索类似的内容

$this->model_setting_setting->editSetting( 'free_checkout', $this->request->post);

这是存储到数据库中的设置(如果需要,您可以更深入地设置模型)

之后,打开 admin/index.php 并查看第 38 - 48 行。可以看到,系统从数据库中获取数据并将数据存储到配置对象中。

于 2012-07-30T21:55:30.027 回答
0

在 Opencart 中,职位由模块使用。它们在 admin unders extensions/modules 中设置。当您单击保存时 - 它会将它们保存到 modulename_module 下的数据库表 oc_settings

当 Opencart 启动时 - 在 INDEX.php 中有这段代码

// Settings
$query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC");

foreach ($query->rows as $setting) {
    if (!$setting['serialized']) {
        $config->set($setting['key'], $setting['value']);
    } else {
        $config->set($setting['key'], unserialize($setting['value']));
    }
}

它创建配置 - 当前商店 ID 的所有设置的大量数组。

之后位置控制器(column_left.php、column_right.php、content_top.php 和 content_bottom.php)遍历表 oc_extension 中的扩展并找到所有需要显示的模块。

然后它通过这个庞大的数组 CONFIG 并收集这些模块的设置 - 这一切都存储在数组 $module_data

然后控制器使用这些设置基本上启动应该显示的模块的每个控制器。它在 foreach 循环中为每个模块传递控制器路由和 $settings,结果得到模块的渲染。

您可以在 php 文件中的任何位置访问配置 - 它可以是另一个控制器、模型甚至 tpl 文件。

$this->config->get(...)

如果您愿意 - 您可以直接转到数据库 oc_settings 并使用这些函数从那里获取数据

$this->load->model('setting/setting'); // remeber to always load the model.
$this->model_setting_setting->editSetting( 'free_checkout', $this->request->post);

希望这可以帮助。

您也可以使用此模块为您的 opencart 超级简单的 额外职位无限增加职位数量

于 2013-11-20T17:56:07.307 回答