我正在尝试在产品管理页面中获得一个计算器助手,靠近价格输入我想添加一个文本框,帮助用户计算价格,不含税增值税插入。
这与PLUGIN类似,但我需要查询数据库以获取所有税率的数组,并将其与价格低于用户选择的tax_class_id
进行比较。
我在此页面中找到了一种请求:admin/controller/localisation/tax_rate.php
if (isset($this->request->post['rate'])) {
$this->data['rate'] = $this->request->post['rate'];
} elseif (!empty($tax_rate_info)) {
$this->data['rate'] = $tax_rate_info['rate'];
} else {
$this->data['rate'] = '';
}
但我不知道如何查询数据库并获取页面admin/view/template/catalog/product_form.tpl
内的数据。
我试图获得类似于Prestashop价格管理的结果。
请给我一些帮助!
编辑:
我用放在getForm()函数中的admin/controller/catalog/product.php
中添加的代码解决了:
$sql = 'SELECT tra.rate, tra.type, tru.tax_class_id FROM '.DB_PREFIX.'tax_rate tra LEFT JOIN '.DB_PREFIX.'tax_rule tru ON tru.tax_rate_id = tra.tax_rate_id WHERE tru.tax_class_id IS NOT NULL' ;
$query = $this->db->query($sql);
$rates = array();
foreach($query->rows as $result){
$rates[] = $result;
}
$this->data['rates'] = $rates;
感谢所有参与者
答案 0 :(得分:2)
要获取费率列表,请使用以下代码:
// get tax rates
$sql = 'SELECT * FROM '.DB_PREFIX.'tax_rate ';
$query = $this->db->query($sql);
$rates = array();
foreach($query->rows as $result){
$rates[] = $result;
}
输出:
Array
(
[0] => Array
(
[tax_rate_id] => 86
[geo_zone_id] => 3
[name] => VAT (17.5%)
[rate] => 17.5000
[type] => P
[date_added] => 2011-03-09 21:17:10
[date_modified] => 2011-09-22 22:24:29
)
[1] => Array
(
[tax_rate_id] => 87
[geo_zone_id] => 3
[name] => Eco Tax (-2.00)
[rate] => 2.0000
[type] => F
[date_added] => 2011-09-21 21:49:23
[date_modified] => 2011-09-23 00:40:19
)
)
编辑: 上面的代码进入控制器。要将数据传递给模板,请使用以下内容:
$this->data['rates'] = $rates;
然后可以通过$rates
查看此数据。
很抱歉从一开始就没有澄清这一点。换句话说,$this->data
包含视图的所有变量:$this->data['foo']
在模板文件(视图)中变为$foo
。
答案 1 :(得分:1)
我还为OpenCart开发了price including VAT
扩展程序,因此我可以就如何继续提供一些建议:
change
事件keyup
事件(或任何您想要的事件)SELECT * FROM '.DB_PREFIX.'tax_rate tra LEFT JOIN '.DB_PREFIX.'tax_rule tru ON tru.tax_rate_id = tra.tax_rate_id WHERE tru.tax_class_id = ' . (int)$this->request->get['tax_class_id']
tax_class_id
索引tax_rate
您可以计算价格(我这样做是双向的,即使一个人输入的价格不包括增值税,价格包括增值税计算,反之亦然......)对不起,我不能给你具体的代码,但如果我这样做,我可以直接转到OpenCart扩展程序并删除我的价格,包括增值税延期; - )