Polskie wsparcie PrestaShop
PrestaShop => Moduły => Wątek zaczęty przez: szolo w Marzec 22, 2012, 09:44:04 am
-
Witam.
Tworzę właśnie sklep spożywczy.
Wobec obowiązującego prawa w sklepie, oprócz ceny za opakowanie powinna być podana cena za litr lub kilogram.
Szukam modułu, który znając cenę opakowania i cechę określającą wagę lub pojemność, policzy i wyświetli cenę za litr lub kilogram.
Na pewno jest coś takiego dla Presty, ale nie mogę znaleźć.
Pomóżcie ???
Sklep pracuje na wersji 1.4.6.2
-
na co modul... w pliku product.tpl wyciagnij sobie atrybut (ceche), cene podziel przez atrybut (ceche), pomnoz przez 100 i masz cene za kilogram. tylko musisz wszystkie atrybuty (cechy) wpisywac w jednej gramaturze np. kg (300g=0.3kg)
-
W sumie racja, ale nie rozwiązuje to problemu z produktami płynnymi, ponieważ czasem będą to kilogramy a czasem litry.
-
ale jak przyjmiesz przeliczniki 1L = 1kg to zawsze policzy ci tak samo, wiec problemu nie ma, tylko zapis ponizej litra wybladal by np. 0.3L a w wagach 0.3kg. do wyliczen i tak bralbys tylko liczby bez jednostek, trzeba by to jakos implodowac zeby pomijalo jednostki. ewentualnie w cechach czy atrybutach brac opis np. Pojemność [L]: 0.3 a w wagach Waga [kg]: 0.3 i wtedy jako atrybuty masz tylko liczby, co przestaje spedzac sen z powiek ;)
-
Pojemność [L]: 0.3 a w wagach Waga [kg]: 0.3
Tak też zrobiłem.
Niestety nie potrafię napisać tego równania :(
Temat modułu nadal aktualny.
Może jednak ktoś znajdzie, choć ja już od pewnego czasu grzebię i nic nie znalazłem.
Jestem jednak pewny, że to istnieje ....
-
w product.tpl w miejscu gdzie chcesz wytswietlic wage za 1kg czy 1L daj:
{l s='Cena zbiorcza: '}$productPrice * (100 / $product->weight)
pisane z reki i bez sprawdzania ale zasada na pewno poprawna tylko ze zmiennymi moglem namieszac.
-
Wielkie dzięki.
Pomogło.
Dokładnie wygląda to tak:
{l s='Cena za litr/kilogram: '}{$productPrice / $product->weight} zł
-
Zaistniał kolejny problem, ponieważ powinienem otrzymać wynik z 2 miejscami po przecinku, a po równaniu bez formatowania wyniku mam tych miejsc 12.
Kolejna sprawa to nie wyświetlanie tego pola gdy jest puste, tzn, jeśli nie uzupełniłem pola to nie wyświetla się nic.
W tej chwili wyświetla błąd.
Wiecie jak ... ??
-
sprawdz tak.zamiast Twojego {l s='Cena za litr/kilogram: '}{$productPrice / $product->weight} zł
daj:
$productWeightPrice=$productPrice / $product->weight
{l s='Cena za litr/kilogram: '}{convertPrice price=$productWeightPrice}
powinno zadzialac
-
Coś jest nie tak, ale wymyśliłem inaczej.
{if $product->weight > 0}
<p> {l s='Cena za litr/kilogram: '}{$productPrice / $product->weight} zł </p>
{/if}
Trzeba jednak wypełnić pole cyfrą 0.
Jeszcze pokombinuję i dam znać.
Wciąż jednak nie wiem jak rozwiązać 2 miejsca po przecinku.
-
Wciąż jednak nie wiem jak rozwiązać 2 miejsca po przecinku.
uzyj 'convertPrice' i metody z mojej odpowiedzi powyzej, ogolnie zamien swoj wpis na ten co podalem, samo ustawi sobie dwa miejsca i walute, czyli juz nie musisz dodawac 'zł'
co do '0' to zasadniczo ma racje... "pamietaj cholero, nie dziel przez zero" :D ach te czasy podstawowki ;)
ale puste pole mozna zalatwic poprawiajac w tabeli zeby puste pole wagi uzupelnial sam zerem
ewentualnie zamiast {if $product->weight > 0} podaj {if $product->weight > 0 || $product->weight !=NULL} moze zadziala ;)
-
Z tym zerem trochę się myliłem, ponieważ pola są wypełnione zerem.
Jednak nie działa mi to co podesłałeś.
Chyba coś robię nie tak.
-
Przepraszam bardzo ;D
Oczywiście wszystko działa, tylko zapomniałem o nawiasach
{$productWeightPrice=$productPrice / $product->weight}
{l s='Cena za litr/kilogram: '}{convertPrice price=$productWeightPrice}
-
nie pochlebiaj sobie... widze, to ja z pospiechu i chyba pomylenia jezykow ;) ach to duze podobienstwo do PHP, a akurat w nim siedzialem przed napisaniem posta...
no ale... przynajmniej widac, ze nie czekales na gotowca, tylko sam szukales rozwiazan ;)
pozdrawiam i polecam sie na przyszlosc ;)