Opencart的$ this-> config-> get('module_var_name')

时间:2013-06-05 11:01:12

标签: php opencart

我正在尝试自定义Opencart支付模块,我看到很多地方正在使用配置信息,但我找不到任何可以创建使用变量的内容。我知道在管理页面中如果我选择'paypal标准'我可以设置所有'配置'信息,但我找不到'模型'下划线,是否有模型,我希望创建一个新的配置设置,可在里面设置管理页面

管理页面如何知道要设置哪些变量?如果我更改付款模块的管理员“视图”以显示新设置,该设置会自动在目录中显示吗?

正在使用的一些配置数据的示例...

admin \ view \ template \ payment \ pp_standard.tpl(paypal admin模板),允许设置'测试模式'....

<tr>
        <td><?php echo $entry_test; ?></td>
        <td><?php if ($pp_standard_test) { ?>
          <input type="radio" name="pp_standard_test" value="1" checked="checked" />
          <?php echo $text_yes; ?>
          <input type="radio" name="pp_standard_test" value="0" />
          <?php echo $text_no; ?>
          <?php } else { ?>
          <input type="radio" name="pp_standard_test" value="1" />
          <?php echo $text_yes; ?>
          <input type="radio" name="pp_standard_test" value="0" checked="checked" />
          <?php echo $text_no; ?>
          <?php } ?></td>
      </tr>

catalog \ controller \ poayment \ pp_standard.php(paypal目录控制器),使用上面的'测试模式'来确定要击中哪个paypal Webservice URL ..

if (!$this->config->get('pp_standard_test')) {
    $curl = curl_init('https://www.paypal.com/cgi-bin/webscr');
} else {
    $curl = curl_init('https://www.sandbox.paypal.com/cgi-bin/webscr');
}

我原本希望在某个地方找到'pp_standard_test'的'模型',但我什么也没找到,任何帮助理解这一点都会非常感激。

P.S。网上有很多建议说'paypal标准'支付模块是一个很好的起点,但很可能,我们不会使用paypal,这是我想弄清楚的原则。

1 个答案:

答案 0 :(得分:5)

在OpenCart管理中,admin/model/setting/setting.php模型用于此类模块/扩展,其中只提供密钥组名称和提供的发布数据以存储在setting中数据库表...(以及在多线程安装中也可选择store_id

您可以检查 admin/controller/payment/ 目录中的任何控制器,看看如何使用此模型(pp_standard.php,来自OC 1.5.5.1中的第10行):

$this->load->model('setting/setting');

if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
    $this->model_setting_setting->editSetting('pp_standard', $this->request->post);

    $this->session->data['success'] = $this->language->get('text_success');

    $this->redirect($this->url->link('extension/payment', 'token=' . $this->session->data['token'], 'SSL'));
}

这会将所有表单数据写入setting数据库表,而表单字段的名称则用作填充值的键。

因此,如果你打电话

$this->config->get('<KEY>');

您可以获取为<KEY>键设置的值。