Question

Je veux créer une fonction dans un script de mise à niveau qui crée 2 nouveaux taux d'imposition dans Magento.

Je regarde le contrôleur de importPost dans adminhtml contrôleur taux d'imposition, mais il est beaucoup de travail là-bas. J'espérais un peu comme pour une belle façon simple:

Mage::getModel('tax model')->setData('tax rate data')->save()

Quelqu'un sait comment faire cela?

Était-ce utile?

La solution

Voici comment j'ai créé une nouvelle règle fiscale dans un upgradescript pour un magasin australien:

//get the product tax class
$productTaxClass = Mage::getModel('tax/class')
    ->getCollection()
    ->addFieldToFilter('class_name', 'Taxable Goods')
    ->load()
    ->getFirstItem();

//get the customer tax class
$customerTaxClass = Mage::getModel('tax/class')
    ->getCollection()
    ->addFieldToFilter('class_name', 'Retail Customer')
    ->load()
    ->getFirstItem();

//create a new australia tax rate/zone
$taxCalculationRate = Mage::getModel('tax/calculation_rate')
    ->setData(array(
        "code"                  => "GST",
        "tax_country_id"        => "AU",
        "tax_region_id"         => "0",
        "zip_is_range"          => "0",
        "tax_postcode"          => "*",
        "rate"                  => "10",
    ))->save();

//create a new tax rule
$ruleModel = Mage::getModel('tax/calculation_rule')
    ->setData(array(
        "code"                  => "GST",
        "tax_customer_class"    => array($customerTaxClass->getId()),
        "tax_product_class"     => array($productTaxClass->getId()),
        "tax_rate"              => array($taxCalculationRate->getId()),
        "priority"              => "0",
        "position"              => "0",
    ))->save();
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top