我正在尝试自定义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,这是我想弄清楚的原则。
答案 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>
键设置的值。