PDA

Zobacz pełną wersję : Wyświetlanie rozmiarów produktu



kraksa
05-06-2006, 11:35
WItam,
Co trzeba zrobić, żeby wyświetlane były parametry produktow w opisie details? Chodzi mi o szerokość x długość x wysokość... Znalazłem coś na ten temat, zrobiłęm tak jak tam napisali, ale nadal parametry nie wyświetlają sie.. http://virtuemart.net/index.php?option=com_smf&Itemid=71&topic=17871.msg41179#msg41179. Czy miejsce, w ktorym wklejam kod w pliku php ma znaczenie co do linijki..? Wnioskuje ze nie skoro uzytkownicy tamtego forum pisza niekiety zeby wklejac jakis kod "okolo" lini 324np. Wyjasnijcie please..
Dzieki z gory

am123
09-06-2006, 01:34
Parametry to Atrybuty w VM... musisz ustalić jakieś atrybuty typu rozmiar itd, a potem przypisywać wartości danemu produktowi, tworzy się wtedy nowa zakładka na karcie produktu

kraksa
10-06-2006, 15:14
To znaczy tak : w momencie dodawania nowego produktu jes 5 zakładek:
1. informacje o produkcie
2. stan produktu
3. wymiary i waga produktu
4. obrazek
5. produkty powiązane

Atrybuty, o których piszesz am123 wprowadza się w zakładce nr 2 i tu rzeczywiście pojawiają się nowe informacje na karcie produktu. Mi chodzi natomiast o to, aby na karcie produktu automatycznie wyświetlane były rozmiary produktu, które wpisuje w zakładce nr 3 w rubryce: długość, szerokość, wysokość. No i też waga, jeżeli wpiszę tam jakąś wartość.. Czy to da się zrobic?? No bo chyba to bez sensu wpisywać te wartośći 2 razy, raz w zakładce nr 3 i drugi raz w zakładce nr 2 tylko po to, żeby były wyświetlone na stronie..

Pozdrawiam

ksiadz
09-07-2007, 15:54
Dołączam się do pytania.
Co z wagą ? Wpisałem wartość w zakładce nr 2 i nie jest ona wyświetlana.

elvispl
29-08-2007, 11:54
No wlasnie... zna ktos rozwiazanie?

am123
29-08-2007, 12:14
Jasne że się da... skoro jest to zapisane w bazie :) , spojrzę dziś na to...

am123
29-08-2007, 13:25
Tak na szybko, można to wyświetlic... w zasadzie waga już jest podłączona,
niestety wyświetla się w postaci 1.0000 kg lub 120.0000 cm przy 1kg i 120cm.

Ale chyba jakiś "mądry" bo nie ja będzie umiał to zmienić, ja tylko na chłopski
rozum przekładam aby działało jak oczekuję ;-)

W skrócie.
1. Mamy w admin/komponentsklepu/html/shop.product_details.php
Stąd doczytywane są dane do Flypage czyli do karty-produktu / strony
opisowej produktu.

Jak widać jest już tutaj:
$template = str_replace( "{product_weight}", $db_product->f("product_weight"), $template );
Czyli pobiera dane wagi ale nie ma tego tagu {product_weight} w szablonie dlatego nie jest to wyświetlane.

Wklejamy więc tag i mamy wspomniane 1.0000 przy 1kg :)

Potrzeba doczytać do tego jednostkę wagi czyli w shop.product_details.php po $template = str_replace( "{product_weight}", $db_product->f("product_weight"), $template );
dodajemy
$template = str_replace( "{product_weight_uom}", $db_product->f("product_weight_uom"), $template ); // waga jednostka

Tak samo robimy z wysokością, szerokością, długością (tutaj dałem wysokość):

dodajemy:
$template = str_replace( "{product_height}", $db_product->f("product_height"), $template ); // rozmiar -dana wartość zdublowac ze zmiana pola
$template = str_replace( "{product_lwh_uom}", $db_product->f("product_lwh_uom"), $template ); // rozmiar jednostka

I żeby to wszystko doczytało się we Flypage wpisujemy tam właściwe tagi czyli musi to wyglądać tak:

{product_weight} {product_weight_uom}

{product_height} {product_lwh_uom}

aby uzyskać

1.000 kg
120.0000 cm

Oczywiście jeszcze trzeba zmienić domyślne wartości dla wagi i rozmiaru w
admin/komponentsklepu/languages/polish.php

var $_PHPSHOP_PRODUCT_FORM_WEIGHT_UOM_DEFAULT = 'kg';
var $_PHPSHOP_PRODUCT_FORM_DIMENSION_UOM_DEFAULT = 'cm';

żeby wyglądało to właściwie i było mniej pracy, wcześniej domyslnie było :
kilogramy, centymetry.

Pozostało podzielić wynik albo usunąć końcowe zera i dopisac przed wartościami jakieś Teksty opisujące że to jest waga a to szerokość, wysokość, tu znów można doczytać z pliku językowego :)

am123

alegorn
29-08-2007, 14:25
nie mam czasu gotowca podac, ale to czego szukasz to:
number_format(),
jesli chcesz calkowicie pozbyc sie wartosci po przecinku, zrob konwersje intval(),
lub tez wywalic koncowe zera floatval()
najwieksze mozliwosci oczywiscie daje odpowiednio uzyta pierwsza funkcja.

cos takiego:


$x = "1000.000";
$x = floatval($x);
echo number_format($x,2,","," ");wyswietli ci:

1 000,00

Al

elvispl
29-08-2007, 17:57
alegorn, a dasz rade napisac dokladnie co ma byc poprawione? I gdzie do dopisac? Do shop.products_details.php?