category tree w koszyku, zamówieniu, e-mailu...

AnswerSeeker

No avatar

2007-02-22 00:15

Witam!

Jak dodać do listy produktów (w koszyku/zamówieniu/e-mailu) drzewo kategorii, do których należy produkt - dokładnie takie jak jest wyświetlane na stronie z listą produktów (tuż nad tytułem produktu) lub na stronie z informacjami szczegółowymi o produkcie. Próbowałem ugryźć temat z różnych stron, ale grzebanie w orders_basket.tpl czy też orders_delivery.tpl nic nie dało. :(

Może ktoś z Was ma jakieś sugestie pomocne przy rozwiązaniu tego problemu?

Regards.

» Quick.Cart v1.x

treewood (OpenSolution)

Avatar: treewood

2007-02-22 09:52

AnswerSeeker - mysle, ze moglbys zrobic to tak (musisz znac dobrze PHP i HTML'a by sobie poradzic z ewentualnymi problemami):
1. edytuj core/orders.php i znajdz liste listBasket()
2. W funkcji ten pod $content = null; wstaw to: $aCategories = throwProductsCategories( );
3. W petli for pod tym $aList['iStyle'] = 1; wstaw to:

if( isset( $aCategories[$aList['iProduct']] ) )
  
$aList['sCategories'] = throwTreeForProduct$aCategories[$aList['iProduct']], $sFile );


4. Do templates/orders_basket.tpl przekopiuj wszystlie bloki: TREE_PARENT, PARENT_SEPARATOR, TREE_CHILD, TREE_SEPARATOR z templates/products_list.tpl
5. Do templates/orders_basket.tpl wstaw zmienna $aList[sCategories] do bloku LIST_LIST

Bedziesz musial podobnie zrobic w templates/orders_delivery.tpl i w templates/admin/orders_more.tpl gdyz te pliki sa tez wywolywane przez funkcje listBasket(). Jesli jednak do tych plikow do bloku LIST_LIST nie wstawisz zmiennej $aList[sCategories] to nie wyswietli sie lista kategorii

Zapoznaj sie z dzialem bloki w dokumentacji:
http://opensolution.org/Quick.Cart/docs/?id=dictionary

Uffff... za soba :) Dziala?

AnswerSeeker

No avatar

2007-02-22 22:46

Hmmm, niestety nie. :(

Przed wysłaniem wczorajszego posta próbowałem podobnie z wyjątkiem kopiowania bloków TREE_PARENT... oraz do funkcji throwTreeForProduct jako argument $sFile wstawiałem string 'products_list.tpl' - nie pomogło, stąd post.
Wygląda to tak, jakby w zmiennej $aList['sCategories'] nic nie było - nie jest wypełniana przez throwTreeForProduct lub $aCategories jest niepoprawnie 'wypełniania'.
Nie próbowałem jeszcze modyfikować orders_delivery.tpl i orders_more.tpl - nie wiem czy tam Twój sposób działa.

Jutro dorwę jakiś debugger PHP i dalej będę 'miętolił' kod. Dzisiaj wymiękam - idę spać.

Regards.

treewood (OpenSolution)

Avatar: treewood

2007-02-23 07:48

AnswerSeeker - pomocna moze byc funkcja var_dump() np. var_dump( $aList['sCategories'] );. wstaw sobie ja do funkcji tej listBasket() zaraz po definicji zmiennej $aList['sCategories'] i sprawdz czy cos ci wyswietla.

Do góry
o nas | kontakt