Sziasztok!
Abba a problémában találtam magam, hogy van egy termék adatbázisom és minden terméknél megvan adva egy CCK mezőbe az áfa értéke (15%,20%,25%,stb).
Nekem ebből az értékekből kellene kiszámolnom az ÁFA-t, így gondoltam erre megfelelő lesz az Übercart egyik alapmodulja a Conditional Actions.
Igen ám, de csak termék tulajdonságokat tudok összekötni, viszont CCK mezőt nem. Így a helyzet problémás!
Az lenne a kérdésem, hogy van-e erre valahol megoldás? Drupal 6-os Core-t használok.
Köszönettel,
Daniel
Drupal verzió:
Fórum:
Modul a probléma megoldására
Hello!
Nekifogtam egy modulnak, ami a fent leírtakat megtudná csinálni. Már csak egy problémám van: Nem tudom kompatibilisen kiszedni sehogy összehasonlítani a CCK mező értékét.
Íme a kód:
Íme az info fájl:
Remélem lesz valakinek valami jó ötlete. :-)
Senki többet 3x?
Senki többet 3x?
Esetleg az
uc_vat modul?
Üdv!
Dudás József
Sajnos nem egészen jó, mert a
Sajnos nem egészen jó, mert a VAT modul csak globálisan képes kezelni az ÁFA-t, viszont használom a számításhoz. Nekem termékenként kellene elvégeznem a számítást, amire úgy látom a Conditional Actions tökéletes lenne, csak nem képes összedolgozni a CCK-val.
Tehát adott egy CCK field, aminek az értéke egyező az ÁFA-val. Ha a Conditional Actions talál egyezést a CCK-ban, akkor lefutna és kiszámolná mondjuk a 18% ÁFA-t.
A fent elkészített modul ezt megtudná valósítani, csak az az alap hiányzik nekem, ami a termék adatait (vagyis a node-t) tartalmazná. Nem is tudom, hogyan hagyhatták ezt ki! (vagy csak én nem értem)
Belemélyültem az uc_vat-ba
Átnéztem az UC_VAT modul kódjait és az 534-edik sorban van egy kis érdekesség:
Itt ha hozzádom a NODE entity-t valamiért nem nagyon ad át semmit a modulom számára. Valamint a node betöltését is itt valahogy meg kellene oldani.
Lenne-e ötlet arra, hogy itt hogyan legyen "belehackelva" a node betöltés és értékeinek átadása a fentebb írt modulom ca_cck_check_field() függvény számára?
Újragondolva, egy kicsit érdekes a helyzet.
Elvileg az $order változónak tartalmaznia kellene egy $order->product részt is. Ennek ellenére nekem csak az alábbi jelenik meg:
A "$order->product"-nak nyoma sincs. Viszont az alábbi API-ban létezik, nos akkor most mi van?
http://www.ubercart.org/docs/api/hook_ca_condition
Szerintetek mi lehet a probléma?
Rossz irány volt a modul írás, de lett megoldás
Sajnos rossz irányba haladtam, de sikerült találnom egy megoldást a problémámra.
Találtam egy issue-t az ubercart.org-on, ami megoldotta a problémát (http://www.ubercart.org/issue/15097/conditionally_tax_products_based_tax...).
Ez a uc_vat modul egy kicsit átfejlesztve, így az uc_vat_with_taxonomy nevet kapta.
Lényege, hogy az ÁFA-t (taxes) taxonómia szótárhoz köthetem, így az adókulcsok felvétele, a taxonómia szótár és értékeinek felvétele után a termékeket egyedi ÁFA-hoz rendelhetem.
Extra beállítás ként érdemes az alábbi beállításokat még kipipálni (admin/store/settings/taxes/vat):
* Add "including VAT" to tax inclusive product prices.
* Show VAT amounts in the cart and at checkout.
* Show VAT amounts in separate columns at checkout.
Így az ÁFA látható lesz a termék oldalon + a megrendelésnél is.
Innen letölthető: http://www.ubercart.org/files/issues/uc_vat_with_taxonomy.tar.gz