Polskie wsparcie PrestaShop
PrestaShop => Polska wersja językowa => Wątek zaczęty przez: Rapajic w Wrzesień 26, 2010, 08:09:23 pm
-
Witam !
W preście 1.3.1 jest problem z poprawną odmianą słowa "produkty" w koszyku. Jak to zmienić, żeby przy ilości produktów w koszyku równej lub większej niż 5 wyświetlało się 5, 6, 7... produktów zamiast 5,6,7 produkty?
Z góry dziękuję za pomoc. :)
-
To ja sie podczepie pod pytanie:
Jak dodatkowo zmienic , aby jesli kategoria ma podkategorie to wyswietla sie aktualnie 0 produkty, a chcialbym zeby wyswietlala sie suma wszystkich produktow w kategorii
-
Witam !
W preście 1.3.1 jest problem z poprawną odmianą słowa "produkty" w koszyku. Jak to zmienić, żeby przy ilości produktów w koszyku równej lub większej niż 5 wyświetlało się 5, 6, 7... produktów zamiast 5,6,7 produkty?
Z góry dziękuję za pomoc. :)
Odmiana rzeczowników odliczebnikowych w j. polskim nie jest taka prosta - przynajmniej z punktu widzenia obcokrajowca. Twórcy presty nie przewidzieli, że form może być więcej niż dwie. Na dodatek założono, że jedna forma jest dla ilości = 1, a druga dla każdej większej od 1. Tak prosto w języku polskim jednak nie jest.
Oto pseudokod realizujący wybór odpowiedniej formy:
function dli2($x,$a,$b,$c) {
if ($x==1) return $a;
elseif (
($x%10>1) && ($x%10<5) &&
!(($x%100>=10) && ($x%100<=21))
) return $b;
return $c;
};
Te kilka linii jest mojego autorstwa, zachęcam do korzystania i rozpowszechniania bez ograniczeń.
Użycie:
dli(1,"strona","strony","stron")
=> strona
dli(2,"kilogram","kilogramy","kilogramów")
=> kilogramy
dli(38,"sztuka","sztuki","sztuk")
=> sztuk
Następnie, w skrócie: powyższą funkcję podpinamy jako funkcję lub modifier Smarty, wywolujemy z szablonu wraz z 3 odmianami rzeczownika (np. {$product->quantity|dli:"sztuka":"sztuki":"sztuk"}), oprocz tego implementujemy to samo w JavaScripcie, gdyz ten aktualizuje ilosc przy zmianie kombinacji atrybutow.
Ilosc zmian niestety jest zbyt duza abym wszystko tu umiescil, ale kazda osoba pracujaca dluzej przy kodzie Presty sobie z tym poradzi.
-
To ja sie podczepie pod pytanie:
Jak dodatkowo zmienic , aby jesli kategoria ma podkategorie to wyswietla sie aktualnie 0 produkty, a chcialbym zeby wyswietlala sie suma wszystkich produktow w kategorii
To zależy gdzie... Ale tak czy siak należy rozpocząć od utworzenia w klasie Category metody getProductsRecursively, opartej na getProducts, tylko pobierającej rekursywnie, czyli również w podkategoriach.
Później:
Jeśli zmiana ma dotyczyć ilości (i/lub produktów) pokazywanych na stronie kategorii, to należy zmodyfikować category.php:
$nbProducts = $category->getProducts(NULL, NULL, NULL, $orderBy, $orderWay, true,true,false,1);
NA:
$nbProducts = $category->getProductsRecursively(NULL, NULL, NULL, $orderBy, $orderWay, true,true,false,1);
I tak w kilku miejscach.
Nową metodę można wykorzystać teraz prawie wszędzie, np. w takim module kategorii:
(http://www.i64.pl/tmp/kategorie-prest.png)