Autor Zpráva
Shaim
Profil
Dobrý den,

nevěděl jsem, jestli zvolit kategorii "PHP", "Jak něco udělat?" nebo tuto... Tak snad jsem to trefil...

Můj dotaz, snažím se přes opencart zjistit přímo hodnotu VAT(DPH), ale jediné, co jsem nalezl je $product['tax_class_id']. Což vypíše tax_class_id z kterého pak mohu zjistit v tabulce tax_rule jakou má tax_rate_id a z toho už jen v tabulce tax_rate vypíši sloupec rate a mám hodnotu 21.000. To je fajn, funguje to. Ale nemá opencart již nějakou funkci? Nemám kód, tak jen náčrt (nechci ten kod pouzivat, radeji bych neco primo z opencartu - nedari se mi to dohledat):

<?php
$products = $this->model_catalog_product->getProducts();
#Zjistím tax_class_id
$product['tax_class_id']
selectuji sloupec tax_rate_id z tax_rule kde tax_rate_id je $product['tax_class_id']
selectuji sloupec rate z tax_rate kde tax_rate_id je tax_rate_id z predchoziho sql dotazu
?>

Za rady děkuji.


Abych byl konkrétnější, tady je sample aktuálního kódu, který bych rád upravil a použil přímo něco z opencartu. Navíc nevím jak moc by byl tento script spolehlivý na jiných opencartech.

            $a = $this->db->query("SELECT tax_rate_id FROM tax_rule WHERE tax_class_id = '{$product['tax_class_id']}' LIMIT 0,1;");
            $tax_rate_id = $a->row['tax_rate_id'];

            $a = $this->db->query("SELECT rate FROM tax_rate WHERE tax_rate_id = '$tax_rate_id' LIMIT 0,1;");
            $rate = $a->row['rate'];
            die($rate);
            // Vypíše 21.000
CZechBoY
Profil
Zdravím,
opencart má oficiální forum a to forum má i české forum.
Proč potřebujete zjistit jaká daň je nastavená u produktu?
Cena produktu s dph se počítá takto:
$product_info['price'] = 90.0; //pro příklad
$product_info['tax_class_id'] = 2; // pro příklad
$this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
Pokud je v administraci nastavené zobrazování s DPH tak se do $this->data['price'] uloží cena s DPH, jinak bez DPH.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: