Opencart:查询数据库以获取税率数据

Opencart:查询数据库以获取税率数据,opencart,Opencart,我试图在产品管理页面中获得一个计算器助手,在价格输入附近,我想添加一个文本框,帮助用户计算价格,并插入增值税。 这与此类似,但我需要查询数据库,以获得所有税率的数组,并将其与用户选择的略低于价格的Tax\u class\u id进行比较 我在这个页面中发现了一种请求:admin/controller/localization/tax_rate.php if(设置($this->request->post['rate'])){ $this->data['rate']=$this->request-

我试图在产品管理页面中获得一个计算器助手,在价格输入附近,我想添加一个文本框,帮助用户计算价格,并插入增值税。 这与此类似,但我需要查询数据库,以获得所有税率的数组,并将其与用户选择的略低于价格的
Tax\u class\u id
进行比较

我在这个页面中发现了一种请求:
admin/controller/localization/tax_rate.php

if(设置($this->request->post['rate'])){
$this->data['rate']=$this->request->post['rate'];
}elseif(!空($tax\u rate\u info)){
$this->data['rate']=$tax\u rate\u info['rate'];
}否则{
$this->data['rate']='';
}
但是我不知道如何查询数据库并在页面
admin/view/template/catalog/product\u form.tpl
中获取数据。 我试图得到一个类似于普雷斯塔肖普的价格管理的结果

请给我一些帮助

编辑:

我在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;

感谢所有参与者

要获取费率列表,请使用以下代码:

//获取税率
$sql='SELECT*FROM'.DB_前缀'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

我还为OpenCart开发了一个
价格,包括增值税
扩展,因此我可以给你一些关于如何继续的建议:

  • 使用jQuery处理
    • 税务类别选择框的
      更改
      事件
    • 价格/价格帮助器输入
      keyup
      事件(或您希望的任何事件)
    • 通过使用如下代码查询数据库(在AJAX请求调用的控制器操作内)
      SELECT*FROM'.DB\u PREFIX.'tax\u rate tra LEFT JOIN'.DB\u PREFIX.'tax\u rule tru ON tru.tax\u rate\u id=tra.tax\u rate\u id,其中tru.tax\u class\u id='。(int)$this->request->get['tax\u class\u id']

      其中从get from AJAX调用检索
      tax\u class\u id
      索引
  • 既然您已经有了
    税率
    ,您就可以计算价格了(我用两种方法都是这样做的,即使一个人输入不含增值税的价格,包括已计算增值税的价格,反之亦然……)

  • 很抱歉,我不能给你具体的代码,但如果我这样做了,我可以直接转到OpenCart扩展并删除我的价格,包括增值税扩展;-)

    谢谢大家!!我认为不需要ajax调用,我想从tax_rate和tax_class表中查询所有数据,然后在本地处理结果。这一点非常清楚,但我只是在学习opencart MVC结构,我错过了在.tpl文件中获得此$rates[]的方法。我必须在controller/catalog/product.php中使用您的代码?在模型中?还是直接在视图中?