Jump to content

podsumowanie zamówienia - komentarz do KAŻDEGO produktu


studiotom

Recommended Posts

witajcie

 

--pytanie główne--

poszukuję bezpł. lub płatnego modułu, do presta 1.6

który w podsumowaniu zamówienia krok1 da możliwość skomentowania (np. tekst do wpisania na pieczątkę)

każdego produktu (czyli nowa kolumna na liście z textarea - do każdego wiersza)

 

pytanie NR2, niezwiązane

mam haka z opcją faktura/paragon (domyślny paragon)

czy da się usunąć z kroku4 cały box (dane do rozliczenia)

przy defaultowym paragonie ?

 

 

 

Link to comment
Share on other sites

pole 'uwagi' wypełnia się oglądają podstronę DANEGO produktu

 

ja dążę do sytuacji : wsadzam 5 produktów do koszyka

klikam "realizuj zamówienie" i wchodzę do summary (1 krok koszyka)

tam na liście (5 wierszy) przy każdym produkcie mam textarea

i wpisuje po kolei do każdego.

Link to comment
Share on other sites

Jeżeli używasz darmowego modułu "paragonfaktura" to jest on lekko mówiąc skopany. Jest kilka błędów które wykluczają ten moduł (nie zapisuje się zmiana domyślnego dokumentu w panelu administracyjnym, nie działa ajax (błędne ścieżki do plików) a w związku z tym nie zapisuje wyboru w bazie danych, przy deinstalacji nie usuwa się baza danych itp.). Właśnie ten sam problem miałem w swoim projekcie (wybór paragon faktura, ukrycie pól w rejestracji itd). Więc wziąłem się za robotę (na szczęście piszę w  php i jquery) i napisałem własny moduł pozwalający klientowi wybrać paragon lub fakturę. De facto moduł jest ukończony w 90%, zostało mi klika rzeczy do zrobienia w trybie zakupów OPC (z możliwością składania zamówień przez gości). Niestety z uwagi iż ogólnie rzecz biorąc prowadzę własną firmę i nie jestem hobbystą moduł nie będzie udostępniony bezpłatnie).

 

Link to comment
Share on other sites

odnosnie pierwszego, to nieprosciej dac dodatkowe pole do danego produktu i przed wrzuceniem do koszyka uzupelniac te dodakowe pola? troche malo intuicyjne, ze najpierw wrzucacm produkt do koszyka a pozniej dopeiro ustalam jakies wytyczne do niego.... dla mnie bez sensu.

 

co do paragon/fv, odnosnie darmowego, ogolnie biegajacego po sieci, to zgodze sie z przedmowca, ma kupe bledow i niedopracowan. kolega jest w czasie pisania takowego, ja juz mam od dawna taki ukonczony, sprawdzony i w 100% dzialajacy tak z 5 krokow jak i OPC. przyklad wdozenia na jestem-eko.pl/ - ten umieszczony w tym projekcie jest kompatybilny z PS 1.5, ale nie ma problemu przerzucenia go na 1.6 czy inne, starsze wersje. po wiecej szczegolow zapraszam na PW.

Link to comment
Share on other sites

dziękuje za info

 

@maranc: jaka cena ?

 

mam jeszcze jedno pytanie załóżmy że sprzedaje kostę brukową w m2 np. 30 zł, kązdy produkt ma inną ilość metrów na palecie (np. xy ma 9,6m2)

i chce sprzedawać tylko paletami (presta 1.5) jak to ustawić, zeby system przeliczał i narzucał ?

przykład ktoś kupuje 5m2 , system zamienia to na 1 paletę czyli 9.6 m2 * 30 zł = 288 zł (1 paleta)

kupuję 12 m2 , system zamienia to na 2 palety czyli 576 zł ??

Link to comment
Share on other sites

odnosnie pierwszego, to nieprosciej dac dodatkowe pole do danego produktu i przed wrzuceniem do koszyka uzupelniac te dodakowe pola? troche malo intuicyjne, ze najpierw wrzucacm produkt do koszyka a pozniej dopeiro ustalam jakies wytyczne do niego.... dla mnie bez sensu.

 

co do paragon/fv, odnosnie darmowego, ogolnie biegajacego po sieci, to zgodze sie z przedmowca, ma kupe bledow i niedopracowan. kolega jest w czasie pisania takowego, ja juz mam od dawna taki ukonczony, sprawdzony i w 100% dzialajacy tak z 5 krokow jak i OPC. przyklad wdozenia na jestem-eko.pl/ - ten umieszczony w tym projekcie jest kompatybilny z PS 1.5, ale nie ma problemu przerzucenia go na 1.6 czy inne, starsze wersje. po wiecej szczegolow zapraszam na PW.

 

Sprawdziłem Twoją stronę, ja przyjąłem inną koncepcję (zgodną z tym co oczekiwał studiotom - ukrywaniem pól danych do faktury itp.). W moim odczuciu najlepiej dać opcję wyboru paragonu faktury bezpośrednio w kroku 3 (przy włączonych zakupach 5 kroków). Załączam parę zrzutów ekranu - tak to wygląda według mojej koncepcji. Minusem jest jedna rzecz, hook dla modułu trzeba wywołać w pliku tpl ręcznie ( dokładniej w trzech plikach: authentication.tpl, order-opc-new-account.tpl, order-address.tpl), coś w tym stylu {hook h='nazwa_hooka'}. Daje nam to możliwość umieszczenia kodu dokładnie tam gdzie chcemy, a więc osiągnąć efekt dokładnie zaplanowany. W twoim sklepie pole z wyborem paragon faktura wykorzystuje hook "displayShoppingCartFooter". A przy okazji - wszedłem na twoją stronę stronę, wybieram szybkie zakupy, mam domyślnie wybraną fakturę, ale w polach adres widzę tylko dane adresowe - nie widzę danych do faktury, nie rozwija się żadne okno z danymi do faktury. Nie wiem czy ma to tak działać.... 

 

Co do mojego modułu - manipulacja polami to prosta sprawa, dodatkowo przy wyborze paragonu zmieniłem widok w szczegółach zamówienia w backoffice. W sekcji moje konto klient również nie widzi faktur. A tak w ogóle to faktury nawet nie są generowane przy wyborze paragonu (musiałem wykonać override dwóch funkcji systemowych odpowiedzialnych za tworzenie i udostępnianie faktur). Dzięki temu faktury są generowane tylko wtedy gdy tego chce klient i taką opcję zaznaczy. Daje nam to teoretyczną możliwość tworzenia prawidłowych faktur sprzedaży (w formie elektronicznej) a nie nic nie dających faktur proforma, dzięki zachowaniu należytej numeracji faktur (w innym wypadku przy wyborze paragonu i tak utworzy się faktura a więc powstaje luka w numeracji). Co do pytania o cenę.... nie wiem, na razie o tym nie myślałem. Jak skończę dam znać co wymyśliłem :)

post-926788-0-69251400-1425581402_thumb.jpg

post-926788-0-67263500-1425581451_thumb.jpg

post-926788-0-66624700-1425581452_thumb.jpg

post-926788-0-20182500-1425581454_thumb.jpg

Link to comment
Share on other sites

co do hook, to pelna dowolnosc. klient chcial w ten sposob i w tym miejscu wyswetlanie wiec jest wedle jego zyczenia. co do funkcjonalnosci, nie ma problemu o jakakolwiek robudowe... kwestia zlozenia zlecenia i jeden dzien na realizacje.

 

ale odnosnie FV, tutaj byl raczej nie korzystal z tych wbudowanych w presta.... za duza zaleznosc od sklepu. co w momencie jak sprzedam cos poza sklepem, calkiem inny asortyment? co wtedy z numeracja?

Link to comment
Share on other sites

co do hook, to pelna dowolnosc. klient chcial w ten sposob i w tym miejscu wyswetlanie wiec jest wedle jego zyczenia. co do funkcjonalnosci, nie ma problemu o jakakolwiek robudowe... kwestia zlozenia zlecenia i jeden dzien na realizacje.

 

ale odnosnie FV, tutaj byl raczej nie korzystal z tych wbudowanych w presta.... za duza zaleznosc od sklepu. co w momencie jak sprzedam cos poza sklepem, calkiem inny asortyment? co wtedy z numeracja?

 

Poniekąd masz rację z tą zależnością od Presty, ale od kliku lat w swojej firmie stosuje rozwiązanie iż zamówienia stacjonarne są fakturowane w oddzielny sposób np.

- faktury do zamówień stacjonarny wyglądają tak przedrostek/numer/rok np. ST/0001/15

- a zamówienia internetowe coś w tym stylu: IN/0001/15

Oczywiście wymaga to odpowiedniego programu fakturująco-magazynowego.

Link to comment
Share on other sites

finalnie, rozwiązaliśmy to taK;

 

1. nad klawiszem koszyka - link "wpisz uwagi"

2. po kliknieciu id #dolstrony

3. do kazdego produktu uploader i box textowy na dole

 

jedyna wada, trzeba w kazdym produkcie robic dostosowanie mimo powtarzalnosci sytuacji.

Link to comment
Share on other sites

mam jeszcze 1 pytanie, chce doppisć wspólny tekst do wszystkich produktów z wyjątkiem 2 kategori jak to zrobić ?

wsadziłem na sztywno tekst do product.tpl , ale jak wspomniałem NIE CHCE go w dwóch kategoriach (kategori razem mam 9)

Link to comment
Share on other sites

w product.tpl wpisałem następujące, a nie działa :((

 

pierwsze wyświetla się wszedzie a nie powinno w kategori 86 (brałem ID z cms)

 

{if $product->id_category_default !=86}
{l s='Cena zawiera podatek VAT. <br />
Cena dotyczy odbioru loco zakład. <br />
Oferujemy możliwość transportu do Klienta wraz z rozładunkiem HDS, zadzwoń aby ustalić cenę.
'}
{/if}
 
{if $product->id_category_default ==86 }
{l s='Cena zawiera podatek VAT'}
{/if}
Link to comment
Share on other sites

jeszcze takie pytanie, co zrobić jeśli kilka produktów z dobrej kategori 86 np. worki na śmieci, ma w powiązaniach jako kategoria glowna  'główna' (bo mają się wyswietlać na głównej stronie)

 

chciałem je wyodrębnić via id ale mi nie działa (produkt 135 należy do kategori głównej)

 

{if $product->id_category_default !='86' || $product->id_product == '135'}

nie wyswietlaj nic, a dla wszystkich innych kategori i produktów wyświetlaj

tekst AAA

{/if}

Link to comment
Share on other sites

Smarty to nie php... Powinno być:

{if $product->id_category_default == '86' } a dla warunku fałsz {if $product->id_category_default != '86' }

niekoniecznie. tak w smarty jak w PHP mozesz uzyc 'else'

 

{if $product->id_category_default != '86'}......{else}.....{/if}

 

prosciej i bardziej czytelnie

Link to comment
Share on other sites

może sformuuje pytanie innaczej, jak zrobić że ponizsza notka NIE wyświetlała się dla kategori 86 i produktu 135

 

 {if $product->id_category_default !='86' || $product->id_product_default != '135'}

{if $product->id_category_default !='86' || $product->id_product != '135'}

to jest notka która nie wyświetli sie dla całej kateogir 86 oraz produktu o ID 135

</if}

Link to comment
Share on other sites

n oto moze nie dziala zmienna $product->id_product moze ma byc jakas inna.... wrzuc np. {$product->id_product|var_dump} i sprawdz czy w ogole istnieje, podpowiem, nei istnieje ;) . bo pytanie, skad w ogole wziales ta zmianna.... no... nie da sie od tak "wymyslac" swoich zmiennych i liczyc na to, ze Presta nas zrozumie ;) ogolnie, jak nie znasz kierunku zmiennej a mniejwiecej wiesz, gdzie szukac, to dumpuj glowna zmienna. dostaniesz pelen arrray zmiennej. tutaj wiesz, ze ma byc to kierunkowa $product wiec wrzucasz {$product|var_dump} i szukasz tablicy i kierunkowej, do ktorej masz sie odniesc.

Edited by deejay3 (see edit history)
Link to comment
Share on other sites

niekoniecznie. tak w smarty jak w PHP mozesz uzyc 'else'

 

{if $product->id_category_default != '86'}......{else}.....{/if}

 

prosciej i bardziej czytelnie

Ależ o tym wiem... Mi chodziło o przykład tego co podawał kolegę. A propos odczyt zmiennej $product a la php: <pre>{$product|@print_r}<pre>

Edited by maranc (see edit history)
Link to comment
Share on other sites

metod odczytu zmiennych jest wiele, dlatego przed podaniem swojej zmiennej wrzucilem 'np'

 

ale ja nie o tym... @maranc, a zauwazyles, ze $products nie zwraca ani przy twojej ani mojej metodzie id produktu? masz wszystkie informacje ale nie ma id w tablicy :D wlasnie przed chwila sprawdzalem ;) ale zmienna id w samym kodzie product.tpl jest wielkokrownie wywolywana....  nie kumam ;) niby jest a niby jej nie ma :D zaskoczylo mnie to....

 

tutaj koledze podpowiem, '$products->id'  - jak pisalem wczesniej, wielokrotnie wywolywana w pliku ale nie zwracana przez tablice :D

Link to comment
Share on other sites

nie działa zarówno:

{if $product->id_category_default !='86' || $products->id !='135'}

{if $product->id_category_default !='86' || $product->id !='135'}

 

id 135 pobieram z html strony wiec na pewno jest dobre, zresztą w cms ma to samo

var favorite_products_id_product = '135';

Link to comment
Share on other sites

Sorry za błąd językowy miałem na myśli {$product}. Id produktu jest jak najbardziej zrzucane w tablicy obiektu $product, zapewne nie sprawdziłeś do końca: Id zaznaczyłem na zielono:

 

Product Object
(
[tax_name] => deprecated
[tax_rate] => 23
[id_manufacturer] => 1
[id_supplier] => 1
[id_category_default] => 7
[id_shop_default] => 1
[manufacturer_name] => FashionTV
[supplier_name] => Fashion Supplier
[name] => Blouse
[description] =>

Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!

[description_short] =>

Short sleeved blouse with feminine draped sleeve detail.

[quantity] => 1786
[minimal_quantity] => 1
[available_now] => In stock
[available_later] =>
[price] => 6.386378
[additional_shipping_cost] => 81.30
[wholesale_price] => 8.100000
[on_sale] => 1
[online_only] => 0
[unity] =>
[unit_price] => 0
[unit_price_ratio] => 0.000000
[ecotax] => 0.000000
[reference] => demo_2
[supplier_reference] =>
[location] =>
[width] => 0.000000
[height] => 0.000000
[depth] => 0.000000
[weight] => 1.000000
[ean13] => 0
[upc] =>
[link_rewrite] => blouse
[meta_description] =>
[meta_keywords] =>
[meta_title] =>
[quantity_discount] => 0
[customizable] => 0
[new] =>
[uploadable_files] => 0
[text_fields] => 0
[active] => 1
[redirect_type] => 404
[id_product_redirected] => 0
[available_for_order] => 1
[available_date] => 0000-00-00
[condition] => new
[show_price] => 1
[indexed] => 1
[visibility] => both
[date_add] => 2014-12-02 12:51:00
[date_upd] => 2015-03-05 00:26:15
[tags] =>
[id_tax_rules_group] => 1
[id_color_default] => 0
[advanced_stock_management] => 0
[out_of_stock] => 2
[depends_on_stock] =>
[isFullyLoaded] => 1
[cache_is_pack] => 0
[cache_has_attachments] => 0
[is_virtual] => 0
[cache_default_attribute] => 7
[category] => blouses
[webserviceParameters:protected] => Array
(
[objectMethods] => Array
(
[add] => addWs
[update] => updateWs
)

[objectNodeNames] => products
[fields] => Array
(
[id_manufacturer] => Array
(
[xlink_resource] => manufacturers
)

[id_supplier] => Array
(
[xlink_resource] => suppliers
)

[id_category_default] => Array
(
[xlink_resource] => categories
)

[new] => Array
(
)

[cache_default_attribute] => Array
(
)

[id_default_image] => Array
(
[getter] => getCoverWs
[setter] => setCoverWs
[xlink_resource] => Array
(
[resourceName] => images
[subResourceName] => products
)

)

[id_default_combination] => Array
(
[getter] => getWsDefaultCombination
[setter] => setWsDefaultCombination
[xlink_resource] => Array
(
[resourceName] => combinations
)

)

[id_tax_rules_group] => Array
(
[xlink_resource] => Array
(
[resourceName] => tax_rule_groups
)

)

[position_in_category] => Array
(
[getter] => getWsPositionInCategory
[setter] => setWsPositionInCategory
)

[manufacturer_name] => Array
(
[getter] => getWsManufacturerName
[setter] =>
)

[quantity] => Array
(
[getter] =>
[setter] =>
)

[type] => Array
(
[getter] => getWsType
[setter] => setWsType
)

)

[associations] => Array
(
[categories] => Array
(
[resource] => category
[fields] => Array
(
[id] => Array
(
[required] => 1
)

)

)

[images] => Array
(
[resource] => image
[fields] => Array
(
[id] => Array
(
)

)

)

[combinations] => Array
(
[resource] => combination
[fields] => Array
(
[id] => Array
(
[required] => 1
)

)

)

[product_option_values] => Array
(
[resource] => product_option_value
[fields] => Array
(
[id] => Array
(
[required] => 1
)

)

)

[product_features] => Array
(
[resource] => product_feature
[fields] => Array
(
[id] => Array
(
[required] => 1
)

[id_feature_value] => Array
(
[required] => 1
[xlink_resource] => product_feature_values
)

)

)

[tags] => Array
(
[resource] => tag
[fields] => Array
(
[id] => Array
(
[required] => 1
)

)

)

[stock_availables] => Array
(
[resource] => stock_available
[fields] => Array
(
[id] => Array
(
[required] => 1
)

[id_product_attribute] => Array
(
[required] => 1
)

)

[setter] =>
)

[accessories] => Array
(
[resource] => product
[api] => products
[fields] => Array
(
[id] => Array
(
[required] => 1
[xlink_resource] => product
)

)

)

[product_bundle] => Array
(
[resource] => product
[api] => products
[fields] => Array
(
[id] => Array
(
[required] => 1
)

[quantity] => Array
(
)

)

)

)

)

[id] => 2

 

 

A nie działa bo jest zły operator logiczny powinno być nie || (czyli OR) ale && (czyli AND), czyli:

 

{if $product->id_category_default !='86' || $product->id_product == '135'} - zamień na:

{if $product->id_category_default !='86' && $product->id_product == '135'}

Link to comment
Share on other sites

u mnei nie wyrzucalo... ale tak czy tak, raczej byl sie go spodziewal na samym poczatku :D gdzies musial byc jezlei kierunek dziala ;)

 

a co do dalszej czesci i roznic miedzy || i && to drugie owszem, ale pod warunkiem ze produkt bedzie w kateogrii 86 i kategorie tez wylaczy tylko wtedy gdy spotka sie z produktem 135. ewidentnie mouim skromnym zdaniem powinno byc OR == || czyli 'kategoria LUB produkt' a nie AND == && - 'kategoria ORAZ produkt'

 

{if $product->id_category_default !='86' || $product->id !='135'} to juz powinno dzialac bez zarzutu, chyba, ze jest w takim miejscu, gdzie nie ma zmiennej $produkt.... ale to mozna zbadac czy dumpem czy printem czy sa poszczegolne, wymagane w zapytaniiu zmienne

Link to comment
Share on other sites

znalazłem rozwiazanie na zagr. czesci tego forum, wdrożyłem i działa

w skrócie - warunek ogólny ma mieć dodatkowy nawias, wszystko jego kombinacje działają!

 

oto prawidłowe

{if (($product->id_category_default !='86') && ($product->id !='135'))}

Link to comment
Share on other sites

znalazłem rozwiazanie na zagr. czesci tego forum, wdrożyłem i działa

w skrócie - warunek ogólny ma mieć dodatkowy nawias, wszystko jego kombinacje działają!

 

oto prawidłowe

{if (($product->id_category_default !='86') && ($product->id !='135'))}

dostales wedke, zlapales rybke ;) niby nic a jednak ;)  tylko teraz warunek mowi wprost, ze produkt musi znalesc sie w kategorii 86... (&& == ORAZ) czyli juz jest dla niej wylaczone... niepowinno byc || == LUB?

Link to comment
Share on other sites

dostales wedke, zlapales rybke ;) niby nic a jednak ;)  tylko teraz warunek mowi wprost, ze produkt musi znalesc sie w kategorii 86... (&& == ORAZ) czyli juz jest dla niej wylaczone... niepowinno byc || == LUB?

Nie nie powinno być || (czyli lub) a właśnie &&. Operator logiczny || w takim wypadku nie zadziała. Dlaczego? Otóż jeżeli warunek zostanie spełniony już w pierwszej zmiennej, tzn, jeżeli kategoria produktu będzie inna niż 86 (powiedzmy że np. 85) nastąpi przerwanie przetwarzania instrukcji i wykonanie jakiegoś tam kodu (w tym wypadku ma się wyświetlić jakaś informacja). Dalej interpreter smarty nie będzie sprawdzał id produktu. Dlatego powinien być operator &&.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...