如何在Magento 2的购物车页面上获取税率?

时间:2017-04-13 09:43:51

标签: magento2 shipping tax

我是Magento 2的新手。 我正在购物车页面上自定义表格费率功能。 最终运费计算包括计算燃油税成本,重量与目的地。

目前,我可以使用代码中的静态燃料税成本计算最终值。但是,此值应该可以从后端进行配置。

因此,我已将FuelLevy作为后端的税级添加,并希望在购物车页面上获取它以计算运费。

表名是' mgic_tax_calculation_rate'。 如何获取这些记录还是有其他方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

首先,为此表创建模型:

\卖方\模块\模型\ MgicTaxCaculationRate.php

<?php
/**
 * Copyright © 2015. All rights reserved.
 */

namespace Vendor\Module\Model;

class MgicTaxCaculationRate extends \Magento\Framework\Model\AbstractModel
{
    /**
     * Constructor
     *
     * @return void
     */
    protected function _construct()
    {
        parent::_construct();
        $this->_init('Vendor\Module\Model\Resource\MgicTaxCaculationRate');
    }
}

\卖方\模块\模型\资源\ MgicTaxCaculationRate.php

<?php
/**
 * Copyright © 2015. All rights reserved.
 */

namespace Vendor\Module\Model\Resource;

class MgicTaxCaculationRate extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
{
    /**
     * Model Initialization
     *
     * @return void
     */
    protected function _construct()
    {
        $this->_init('mgic_tax_calculation_rate', 'mgic_tax_calculation_rate_id');
    }
}

\卖方\模块\模型\资源\ MgicTaxCaculationRate \ Collection.php

<?php
/**
 * Copyright © 2015. All rights reserved.
 */

namespace Vendor\Module\Model\Resource\MgicTaxCaculationRate;

class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection
{
    /**
     * Define resource model
     *
     * @return void
     */
    protected function _construct()
    {
        $this->_init('Vendor\Module\Model\MgicTaxCaculationRate', 'Vendor\Module\Model\Resource\MgicTaxCaculationRate');
    }
}

然后,在你的块中

<?php
namespace Vendor\Module\Block;
class Example extends \Magento\Framework\View\Element\Template
{
    protected $_mgicFactory;
    public function _construct(
        \Magento\Framework\View\Element\Template\Context $context,
        \Vendor\Module\Model\MgicTaxCaculationRate $mgicFactory
    ){
        $this->_mgicFactory = $mgicFactory;
        parent::_construct($context);
    }

    public function _prepareLayout()
    {
        $mgic = $this->_mgicFactory ->create();
        $collection = $mgic->getCollection();
        foreach($collection as $item){
            var_dump($item->getData());
        }
        exit;
    }
}

顺便说一下,为什么不将这些字段添加到system.xml?