× Kereskedelmi és bolt bővítmények

check Virtuemart - Hogyan írható ki a kedvezményes ár a legegyszerűbben?

Több
2017 márc. 09 20:47 #1 Írta: Blue
Ami problémát okoz. Ha minden termék esetében kiíratom az alapárat. A kedvezményesnél pedig a kedvezményes árat. Hogyan tudom megoldani, hogy csak a kedvezményes árnál át legyen húzva az alapár?

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2017 márc. 10 08:12 #2 Írta: Blue
Annyira jöttem rá, hogy ha csinálok egy bruttó felhasználói ár felülírást, az lesz maga a kedvezmény és megjelenik ilyenkor egy "Alapár áfával együtt", ami régi alapárat jeleníti meg.De, ha leveszem az akciót, akkor ez a sor továbbra is megmarad és lesz két ugyanolyan áram csak az egyik át lesz húzva. Kérdés, hogy mi a megfelelő lépés akció letelte után, hogy ne írassa ki a rendszer az "Alapár áfával együtt" sort, ha már nincs akció.

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2017 márc. 10 09:03 #3 Írta: kovacshazi
kovacshazi válaszolt a következő témában: Virtuemart - Hogyan írható ki a kedvezményes ár a legegyszerűbben?
Ha akkor is megjelenik az Alapár ÁFA-val együtt amikor nincs kedvezmény akkor első körben a VM beállításoknál próbáld meg az "Árképzés" fülön a bal oldalon az Árbeállítások résznél a "Árak kerekítése csak kiíratáskor" részt bejelölni.
Ha ez kevés akkor jöhet egy kis VirtueMart salon módosítás. Ez már bonyolultabb, kell hozzá egyrészt a Joomla sablon felülírás ismerete, php tudás...

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

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2017 márc. 10 09:12 - 2017 márc. 10 09:14 #4 Írta: Blue
Egy kicsit próbálgattam és a következőre jutottam: ha csinálok egy új terméket, majd simán adok egy felülírást (Bruttó végfelhasználói ár felülírás), akkor ugye megjelenik a "régi ár" (Alapár áfával együtt) áthúzva. Ha ezt szimplán letiltom, akkor visszavonja az "Alapárat áfával együtt" sort, ez rendben is van. A jelenlegi webáruházunk úgy tartalmazza az alapár áfával együtt sorokat, hogy nincs felülírás, és ez azért gond, mert egyes termékeknél megjelenik ez az alapáras dolog valamint a végfelhasználói ár is, ami ugyanaz. Ennek a logikáját nem tudtam még megfejteni. Arra gondoltam esetleg még, hogy valami érték tárolódhat az adatbázisban, és az alapján csinálja ezt a fura viselkedést, vagy nem tudom.
Utolsó szerkesztés: 2017 márc. 10 09:14 Blue által.

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2017 márc. 10 09:26 #5 Írta: kovacshazi
kovacshazi válaszolt a következő témában: Virtuemart - Hogyan írható ki a kedvezményes ár a legegyszerűbben?
A VirtueMart ár kiírásnál - sublayouts/prices.php - vizsgálja egy kicsit furán ezt a kiírast. Ezt én rendszeresen módosítani szoktam úgy, hogy csak akkor írja ki az alapárat, ha a kedvezmény abszolút értéke nagyobb mint nulla.
Keresd a price-crossed ár kiírást és az IF viszgálatot írd át ehhez hasonlóra
if (abs($product->prices['discountAmount']) > 0) {
		echo '<span class="price-crossed" >' . $currency->createPriceDiv ('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices) . "</span>";
}

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

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2017 márc. 10 09:43 - 2017 márc. 10 09:48 #6 Írta: Blue
A jenlegi sablonom nem tartalmaz ilyen felülírást, szóval az eredeti VM-es fájl kerül használatba.

prices.php 42.sor
	echo $currency->createPriceDiv ('variantModification', 'COM_VIRTUEMART_PRODUCT_VARIANT_MOD', $product->prices);
	if (round($product->prices['basePriceWithTax'],$currency->_priceConfig['salesPrice'][1]) != round($product->prices['salesPrice'],$currency->_priceConfig['salesPrice'][1])) {
		echo '<span class="price-crossed" >' . $currency->createPriceDiv ('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices) . "</span>";
	}
	if (round($product->prices['salesPriceWithDiscount'],$currency->_priceConfig['salesPrice'][1]) != round($product->prices['salesPrice'],$currency->_priceConfig['salesPrice'][1])) {
		echo $currency->createPriceDiv ('salesPriceWithDiscount', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITH_DISCOUNT', $product->prices);
	}

Ha itt lecserélem az alsó if-et az általad javasoltra, sajnos nem hoz változást. Nem lehet, hogy ez még is adatbázisban tárolt érték határozza meg, mert nem mindegyik termék kap "dupla" árkiíratást felülírás nélkül.
Utolsó szerkesztés: 2017 márc. 10 09:48 Blue által.

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2017 márc. 10 09:47 #7 Írta: kovacshazi
kovacshazi válaszolt a következő témában: Virtuemart - Hogyan írható ki a kedvezményes ár a legegyszerűbben?
Biztosan nem. Lehet, hogy a productdetails/default.php-ben még nem használja a sablonod a sublayouts/price.php-t hanem direktben van bent az ár a kiírás a sablonban.

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

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2017 márc. 10 10:02 - 2017 márc. 10 10:09 #8 Írta: Blue
Annyit tudok pontosítani, hogy csak a kategória nézetben jelentkezik a probléma, a terméknézetben nem:
Mellékletek:
Utolsó szerkesztés: 2017 márc. 10 10:09 Blue által.

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2017 márc. 10 10:03 #9 Írta: kovacshazi
kovacshazi válaszolt a következő témában: Virtuemart - Hogyan írható ki a kedvezményes ár a legegyszerűbben?
Akkor a category/default.php sablonodat nézd meg, lehet ott van bent direktben az ár kiírás

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

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2017 márc. 10 10:21 - 2017 márc. 10 10:52 #10 Írta: Blue
Ha az if-et kicserélem az általad javasoltra, akkor dob egy 0 - Call to a member function createPriceDiv() on null errort.

Tehát ezt:
if (round($product->prices['salesPriceWithDiscount'],$this->currency->_priceConfig['salesPrice'][1]) != $product->prices['salesPrice']) {
echo $this->currency->createPriceDiv ('salesPriceWithDiscount', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITH_DISCOUNT', $product->prices);
}
erre:
if (abs($product->prices['discountAmount']) > 0) {
echo '<span class="price-crossed" >' . $currency->createPriceDiv ('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices) . "</span>";
}

Ha esetleg van még valami tipped, ez a fájom van a felülírásban:
Utolsó szerkesztés: 2017 márc. 10 10:52 Blue által.

Jelentkezz be, hogy te is részt vehess beszélgetésben!