- Hozzászólások: 443
- Köszönetek: 1
× Kereskedelmi és bolt bővítmények
Virtuemart - Végső ár kerekítése 0 vagy 5 ft-ra
- sanya93
-
Témaindító
- Nem elérhető
- Elite Member
-
Kevesebb Több
2014 jan. 09 15:24 #1 Írta: sanya93
Virtuemart - Végső ár kerekítése 0 vagy 5 ft-ra téma létrehozva sanya93 által
Üdv A csvi importálás után a nettó árakból ugye bruttó árak lesznek.hogyan lehet azt megoldani,hogy a nettó 1655 ft bruttósítás után ne 2102 ft legyen hanem ilyen esetben legyen kerek 2100 ft. és 3 vagy 4 végződésnél kerekítsen 5 végződésre. Köszi
Jelentkezz be, hogy te is részt vehess beszélgetésben!
- Balázs
-
- Nem elérhető
- Adminisztrátor
-
2014 jan. 10 01:40 - 2014 jan. 10 01:50 #2 Írta: Balázs
Ha bizalmas információt szeretnél közölni az adminokkal, akkor tedd az üzeneted tartalmát a [ confidential ][ /confidential ] címkék közé (szóközök nélkül).
Joomla! tanácsadás, oktatás, fejlesztés - joomlabs.hu
Balázs válaszolt a következő témában: Virtuemart - Végső ár kerekítése 0 vagy 5 ft-ra
Jó kérdés, hogy-hogy oldották meg ezt mások. Ez egyébként lehetséges hogy egyedi megoldást kíván, egy magyarországi kerekítési szabállyal megtoldani a calculationh.php-t.
Pár hasonló téma/megoldás a hivatalos VM fórumból:
forum.virtuemart.net/index.php?topic=111435
forum.virtuemart.net/index.php?topic=107610
és egy régebbi szál az org.hu-s fórumból:
forum.joomla.org.hu/kerekites-problema-t5083.html
Pár hasonló téma/megoldás a hivatalos VM fórumból:
forum.virtuemart.net/index.php?topic=111435
forum.virtuemart.net/index.php?topic=107610
és egy régebbi szál az org.hu-s fórumból:
forum.joomla.org.hu/kerekites-problema-t5083.html
Ha bizalmas információt szeretnél közölni az adminokkal, akkor tedd az üzeneted tartalmát a [ confidential ][ /confidential ] címkék közé (szóközök nélkül).
Joomla! tanácsadás, oktatás, fejlesztés - joomlabs.hu
Utolsó szerkesztés: 2014 jan. 10 01:50 Balázs által.
Jelentkezz be, hogy te is részt vehess beszélgetésben!
- Zotius
-
- Nem elérhető
- Joomla ász
-
2014 jan. 10 08:51 - 2014 jan. 10 08:56 #3 Írta: Zotius
Ha hasznos volt a hozzászólásom számodra, nyugodtan megnyomhatod lent a „Köszönet” gombot
Skype: zotius
Zotius válaszolt a következő témában: Virtuemart - Végső ár kerekítése 0 vagy 5 ft-ra
Bocs', hogy beleszólok problémádba, de szerintem webáruháznál ez a 0/5-ös kerekítés teljesen felesleges. Indulj ki abból, hogy a webáruházi vásárlásokat többnyire átutalással, előre kell kifizetni, kisebb részben utánvéttel (futár/gyorsposta) útján.
Átutaláskor az összeget nem kell 0/5-re kerekíteni, a futár/gyp. pedig - ugyanúgy, mint a postahivatalokban - "helyben" kerekítenek, s a kerekítési különbözettel a posta, illetve a futár/gyp később el tud számolni.
Ráadásul - ahogy írod - a kerekítést a tételnél szeretnéd megoldani, ami pedig nem helyes.
Tovább ragozva a kérdést: Jól is néznénk ki, ha a tételben nem csak a tétel bruttó végösszege, hanem már az ÁFA összege is kerekítésre kerülne...
Mi van, ha több tételt vásárol a vevő? Egy több tételből álló számlában nem tételenként kell 0/5-re kerekíteni, hanem csak a számla legvégén, ott is csak a bruttó végösszeget.
Nem muszáj az ő problémájukat neked megoldani.
Átutaláskor az összeget nem kell 0/5-re kerekíteni, a futár/gyp. pedig - ugyanúgy, mint a postahivatalokban - "helyben" kerekítenek, s a kerekítési különbözettel a posta, illetve a futár/gyp később el tud számolni.
Ráadásul - ahogy írod - a kerekítést a tételnél szeretnéd megoldani, ami pedig nem helyes.
Tovább ragozva a kérdést: Jól is néznénk ki, ha a tételben nem csak a tétel bruttó végösszege, hanem már az ÁFA összege is kerekítésre kerülne...
Mi van, ha több tételt vásárol a vevő? Egy több tételből álló számlában nem tételenként kell 0/5-re kerekíteni, hanem csak a számla legvégén, ott is csak a bruttó végösszeget.
Nem muszáj az ő problémájukat neked megoldani.
Ha hasznos volt a hozzászólásom számodra, nyugodtan megnyomhatod lent a „Köszönet” gombot

Skype: zotius
Utolsó szerkesztés: 2014 jan. 10 08:56 Zotius által. Indoklás: kiegészítés
Jelentkezz be, hogy te is részt vehess beszélgetésben!
- sanya93
-
Témaindító
- Nem elérhető
- Elite Member
-
Kevesebb Több
- Hozzászólások: 443
- Köszönetek: 1
2014 jan. 10 10:50 #4 Írta: sanya93
sanya93 válaszolt a következő témában: Virtuemart - Végső ár kerekítése 0 vagy 5 ft-ra
Lehet hogy felesleges a kerekítés,de én szeretnék szép árakat,nem akarok a 999 ft-osok közé állni. Ebben a shopunkban nem lehet rendelni csak katalógusként működik,ha megtetszik az árú akkor bejön érte a boltba.Ezért kell a kerekítés,
Jelentkezz be, hogy te is részt vehess beszélgetésben!
- kovacshazi
-
- Nem elérhető
- Joomla ász
-
- Mindent lehet, csak akarni kell
2014 febr. 21 09:44 - 2014 febr. 21 09:45 #5 Írta: kovacshazi
Segítség Joomla és VirtueMart webáruház készítéséhet, problémák megoldásában
www.webprogramok.hu
Joomladay2013 - Budapest, Hungary
www.joomladay.hu
kovacshazi válaszolt a következő témában: Virtuemart - Végső ár kerekítése 0 vagy 5 ft-ra
Nekem több pénznem esetén amikor az alapár USD a következő megoldás segítette. Még nincs végig tesztelve, hogy kosárban, visszaigazoló emailban is végig jó-e de elsőre úgy tűnik igen.
Tehát a megoldásom:
administrator/compontns/com_virtuemasrt/helpers/currencydisplay.php fájlt kell módosítani:
Ebben a function roundForDisplay résztbe illesztettem be a következő kódot.A teljes function roundForDisplay így néz ki:
Tehát a megoldásom:
administrator/compontns/com_virtuemasrt/helpers/currencydisplay.php fájlt kell módosítani:
Ebben a function roundForDisplay résztbe illesztettem be a következő kódot.
} elseif($this->_numeric_code===348){
$price = round((float)$price * 2,-1) * 0.5;
}
public function roundForDisplay($price, $currencyId=0,$quantity = 1.0,$inToShopCurrency = false,$nb= -1){
$currencyId = $this->getCurrencyForDisplay($currencyId);
if($nb==-1){
$nb = $this->_nbDecimal;
}
$price = (float)$price * (float)$quantity;
$price = $this->convertCurrencyTo($currencyId,$price,$inToShopCurrency);
if($this->_numeric_code===756 and VmConfig::get('rappenrundung',FALSE)=="1"){
$price = round((float)$price * 2,1) * 0.5;
} elseif($this->_numeric_code===348){
$price = round((float)$price * 2,-1) * 0.5;
} else {
$price = round($price,$nb);
}
return $price;
}
Segítség Joomla és VirtueMart webáruház készítéséhet, problémák megoldásában
www.webprogramok.hu
Joomladay2013 - Budapest, Hungary
www.joomladay.hu
Utolsó szerkesztés: 2014 febr. 21 09:45 kovacshazi által.
Jelentkezz be, hogy te is részt vehess beszélgetésben!
- sanya93
-
Témaindító
- Nem elérhető
- Elite Member
-
Kevesebb Több
- Hozzászólások: 443
- Köszönetek: 1
2014 febr. 21 11:51 #6 Írta: sanya93
sanya93 válaszolt a következő témában: Virtuemart - Végső ár kerekítése 0 vagy 5 ft-ra
Nekem ezt a hibát adja ha modosítom a roundForDisplay részt
public_html/administrator/components/com_virtuemart/helpers/currencydisplay.php on line 375
public_html/administrator/components/com_virtuemart/helpers/currencydisplay.php on line 375
Jelentkezz be, hogy te is részt vehess beszélgetésben!
- Rendy77
-
- Nem elérhető
- Premium Member
-
Kevesebb Több
- Hozzászólások: 111
- Köszönetek: 1
2019 jan. 06 09:53 #7 Írta: Rendy77
Rendy77 válaszolt a következő témában: Virtuemart - Végső ár kerekítése 0 vagy 5 ft-ra
Erre azóta sincs megoldás? Engem is érdekelne. Szeretném már a webshopban lévő árakat kerekíteni, de nem találok rá semmi megoldást

Jelentkezz be, hogy te is részt vehess beszélgetésben!
- rakuszj
-
- Nem elérhető
- New Member
-
Kevesebb Több
- Hozzászólások: 1
- Köszönetek: 0
2021 jún. 02 08:50 - 2021 jún. 02 08:53 #8 Írta: rakuszj
rakuszj válaszolt a következő témában: Virtuemart - Végső ár kerekítése 0 vagy 5 ft-ra
A megoldás jó, nekem működik, J 3.9.27 - VM 3.8.8
public function roundForDisplay($price, $currencyId=0,$quantity = 1.0,$inToShopCurrency = false,$nb= -1){
if(empty($currencyId)) $currencyId = $this->getCurrencyForDisplay($currencyId);
if($nb==-1){
$nb = $this->_nbDecimal;
}
$price = $this->convertCurrencyTo($currencyId,$price,$inToShopCurrency);
if(VmConfig::get('roundindig')){
$price = round((float)$price * (float)$quantity,$nb); //('roundForDisplay roundindig',$price1);
} else {
$price = round((float)$price,$nb) * (float)$quantity;
}
if($this->_numeric_code===756 and VmConfig::get('rappenrundung',FALSE)=="1"){
//$price = (float)$price * (float)$quantity;
$price = round((float)$price * 2,1) * 0.5; }
elseif($this->_numeric_code===348){
$price = round((float)$price * 2,-1) * 0.5;
}
return $price;
}
public function roundForDisplay($price, $currencyId=0,$quantity = 1.0,$inToShopCurrency = false,$nb= -1){
if(empty($currencyId)) $currencyId = $this->getCurrencyForDisplay($currencyId);
if($nb==-1){
$nb = $this->_nbDecimal;
}
$price = $this->convertCurrencyTo($currencyId,$price,$inToShopCurrency);
if(VmConfig::get('roundindig')){
$price = round((float)$price * (float)$quantity,$nb); //('roundForDisplay roundindig',$price1);
} else {
$price = round((float)$price,$nb) * (float)$quantity;
}
if($this->_numeric_code===756 and VmConfig::get('rappenrundung',FALSE)=="1"){
//$price = (float)$price * (float)$quantity;
$price = round((float)$price * 2,1) * 0.5; }
elseif($this->_numeric_code===348){
$price = round((float)$price * 2,-1) * 0.5;
}
return $price;
}
Utolsó szerkesztés: 2021 jún. 02 08:53 rakuszj által.
Jelentkezz be, hogy te is részt vehess beszélgetésben!