Post by PetrX » Fri May 30, 2014 8:18 pm

Poradí mi někdo prosím jak získat sazbu DPH daného produktu? Našel jsem proměnnou $product['tax_class_id'], ale ta obsahuje pouze id třídy. Jak získám hodnotu?
Předem děkuji za odpověď.

Jedná se o verzi Opencart 1.5.6.1

SLAVNÉ ČAJE ČÍNY


New member

Posts

Joined
Mon Jun 07, 2010 8:23 pm

Post by PetrX » Mon Jun 02, 2014 1:08 am

Po dlouhém hledání jsem něco našel, ale nevím jestli je to korektní. Pro zájemce zde:

Code: Select all

$tax_query = $this->db->query("SELECT tax_rate_id FROM " . DB_PREFIX . "tax_rule WHERE tax_class_id = '" . (int)$product['tax_class_id'] . "'");
  foreach ($tax_query->rows as $result) {
      $tax_rate_id = $result['tax_rate_id'];
}      
$tax_query = $this->db->query("SELECT rate FROM " . DB_PREFIX . "tax_rate WHERE tax_rate_id = '" . (int)$tax_rate_id . "'");
    foreach ($tax_query->rows as $result) {
        $tax = round($result['rate'], 1);
}
V proměnné $tax je pak uložena hodnota sazby daně, tj. pro nás 15 nebo 21.

Co si o tomto zásahu do souboru cart.php myslí zdatnější znalci OpenCart. Je to korektní přístup? Případně poraďte optimalizaci. Děkuji

SLAVNÉ ČAJE ČÍNY


New member

Posts

Joined
Mon Jun 07, 2010 8:23 pm

Post by hawkey » Mon Jun 02, 2014 3:16 am

Ano, takto to jde, ale nebude to správně fungovat pokud byste měl u jedné daňové třídy více sazeb, třeba pro různé státy.
Jinak je to v pořádku, pokud se to nepoužije přímo v šabloně :)
Dal bych to do controlleru.
Jinak dalo by se to zjednodušit do jednoho SQL dotazu, ale funkčně se tím nic nezmění.

Visit OpencartEx - Opencart extensions
Opencart rady a návody česky | Podpora Opencart


Active Member

Posts

Joined
Sun Apr 25, 2010 12:10 am
Location - Olomouc, Czech Republic, Europe
Who is online

Users browsing this forum: No registered users and 4 guests