wdrożenia PrestaShop

dodawanie nowych nietypowych atrybutów

  • 29 Odpowiedzi
  • 6969 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline zwora

  • Nowy
  • *
  • 19
  • 0
dodawanie nowych nietypowych atrybutów
« dnia: Listopad 24, 2012, 07:04:29 am »
Witam

Chciałbym uruchomić sklep, który będzie sprzedawał rolety i w związku z tym muszę dość konkretnie przemodelować opis produktu. Muszę dodać pola typu edit w których będzie można wprowadzać szerokość i wysokość i na tej podstawie będzie obliczana cena. W back office nie ma mozliwości, żeby takie coś dodać, więc jestem zmuszony albo napisać nowy moduł albo zmodyfikować istniejący. Problem w tym, że nie mogę znaleźć, gdzie to jest (które pliki) zaszyte. Ustawiłem sobie w back office atrybut o unikatowej nazwie, a następnie próbowałem wyszukać przy pomocy windows 7. Niestety system ten korzysta z indeksowania i pomimo dodania folderu prestashop do folderów indeksowanych i przebudowania bazy indeksów nie zwraca żadnych wyników wyszukiwania. Czy wie może ktoś gdzie mogę znaleźć opis produktu?

*

Offline zwora

  • Nowy
  • *
  • 19
  • 0
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #1 dnia: Listopad 29, 2012, 10:04:03 am »
A czy jest w stanie ktoś odpowiedzieć na takie pytania:

1. Jakiego hooka użyć, żeby móc umieszczać elementy z plików tpl w obszarze, w którym wybiera się atrybuty produktu. Probowałem już wiely hooków i w najlepszym razie udało mi się umieścić elementy zaraz pod ceną - hook productActions (ale nie o to mi chodzi).

2. W jaki sposób można modyfikować cenę (jaki obiekt i jaka metoda)?

Pozdrawiam

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #2 dnia: Listopad 30, 2012, 09:16:08 am »
1. hook extraRight

2. napisz dokladnie o chodzi, bo manipulacji nad cena moze byc wiele, kazde w innym miejscu
design4VIP z innej strony...

*

Offline zwora

  • Nowy
  • *
  • 19
  • 0
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #3 dnia: Listopad 30, 2012, 02:28:32 pm »
Dzięki za odpowiedź, niestety ani extraRight ani jego nowszy odpowiednik  displayRightColumnProduct nie powodują zaczepienia mojego kodu w miejscu gdzie są wyświeltane atrybuty produktu. Z tymi hookami kod zaczepiany jest pod ceną i informacjami o punktach lojalnościowych za zakup.

No chyba że całość elementów po prawej stronie jest zaczepiona w tym hooku i moj kod ląduje za ostatnim elementem zaczepionym w tym miejscu. Ale zatem jak podnieść się wyżej? Mam w pliku css ustawione position:relative oraz top:10px, więc powinno to być u góry. No chyba, że moduły presty rządzą się jakimiś innymi prawami jeśli chodzi o roznieszczenie na stronie?

Co do drugiego pytania to chodziło mi o to, jak mógłbym zmodyfikować cenę na podstawie wprowadzonych informacji, tzn. załóżmy, że mam już obliczoną wartość ceny i chciałbym, aby dokonała się modyfikacja ceny właściwej (tej która jest wyświetlana) tego produktu. Powinienem zatem odnieść się do jakiegoś obiektu i wywołać metodę, która zmodyfikuje wartość odpowiedniego pola tego obiektu, coś w stylu obiekt_cena->update($nowacena)

Pozdrawiam

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #4 dnia: Listopad 30, 2012, 02:45:32 pm »
co do rozmieszczenia modulow odpowiada za to ich pozycjonowanie, czyli PA>moduly>Rozmieszczenie modułów

oznaczas dalej opcje Pokaż niepozycjonowalną zawartość i wyszukujesz swojego hooka, dalej modul, poznosisz go w wybrane miejsce i tyle.

co do drugiego pytania odnosnie ceny.... bardzo fajne, ale nie wiem czy ja jestem taki glupi i nie jestem w stanie tego zrozumiec, czy jest to tak zagmatwane, ze raczej zrozumiec sie tego nie da. sobie modyfikujesz, sobie zmieniasz.... a łyżka na to.....

nie wiem czy o to chodzi, ale moze poprostu chodzi o atrybuty i zmiany cen wzrostowo albo znizkowo....
design4VIP z innej strony...

*

Offline zwora

  • Nowy
  • *
  • 19
  • 0
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #5 dnia: Listopad 30, 2012, 03:05:11 pm »
Dzięki za szybką odpowiedź. Co do podnoszenia to działa, ale w hooku displayRightColumnProduct mam tylko 2 moduły (mój + punkty lojalnościowe), stąd wniosek, ża atrybuty są w innym hooku, albo ten obszar nie jest objęty żadnym hookiem.

Jeśli chodzi o drugie pytanie to chciałbym w jakiś sposób tą cenę zmodyfikować, sposób jest nieważny byleby działał. Mogę też podmieniać bezpośrednio w bazie, bo z tego co widzę ceny tam są przechowywane. Pytanie tylko która tabela za to odpowiada, bo jak sobie tak przeglądam bazę to jest wiele tabel dotyczących produktu, w których umieszczana jest akaś tam cena. Co prawda mógłbym kombinować i dać w back office jakąś nietypową - unikatową cenę, a następnie szukać w której tabeli taka wartość została zapisana, ale wolałbym nie kombinować na własną rękę, bo może być tak, że ta wartość ma jakiś wpływ na rekordy w innych tabelach (choć zgodnie z teorią w bazach relacyjnych nie powinno się przechowywać wartości, które da się wyliczyć z innych wartości -ale to tylko takie dywagacje). No i po podmienienu w bazie pozostaje jeszcze problem odświeżenia wartości na stronie.

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #6 dnia: Listopad 30, 2012, 05:55:56 pm »
1. atrybuty to atrybuty i nie ma ich w hook, bo to nie modul. wszystko jest zawarte w product.tpl i odpowiednio miedzy {if isset($groups)} {/if}

2.
Jeśli chodzi o drugie pytanie to chciałbym w jakiś sposób tą cenę zmodyfikować, sposób jest nieważny byleby działał. Mogę też podmieniać bezpośrednio w bazie, bo z tego co widzę ceny tam są przechowywane. Pytanie tylko która tabela za to odpowiada, bo jak sobie tak przeglądam bazę to jest wiele tabel dotyczących produktu, w których umieszczana jest akaś tam cena. Co prawda mógłbym kombinować i dać w back office jakąś nietypową - unikatową cenę, a następnie szukać w której tabeli taka wartość została zapisana, ale wolałbym nie kombinować na własną rękę, bo może być tak, że ta wartość ma jakiś wpływ na rekordy w innych tabelach (choć zgodnie z teorią w bazach relacyjnych nie powinno się przechowywać wartości, które da się wyliczyć z innych wartości -ale to tylko takie dywagacje). No i po podmienienu w bazie pozostaje jeszcze problem odświeżenia wartości na stronie.

ja jednak chyba za glupi jestem do tego rozwiazania. za chiny nie wiem o co chodzi. po co w bazie zmieniac cene jak mozna to w karcie produktu albo w netto albo w brutto zrobic. jakie odswierzenie na stroeni, jezeli (jak juz) zmienisz w bazie to sama sie wyswietli taka jak zmieniona....

mzoe opisz to na jakims przykladzie: masz taka a taka cene produktu, chcesz zmienic na taka i taka, w jakim przypadku co i jak ma zmieniac. bo naprawde to co piszesz to chyba (albo ja taki glupi jestem) ty wiesz o co chodzi.
design4VIP z innej strony...

*

Offline zwora

  • Nowy
  • *
  • 19
  • 0
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #7 dnia: Listopad 30, 2012, 08:19:36 pm »
Chodzi o to, że cena nie będzie ustalona na sztywno, tylko wyliczana będzie w zależności od podanych przez użytkownika wymiarów. Tak naprawdę to jest jakiś cennik, w którym ceny zależą od szerokości i wysokości i muszę cenę pobierać z tabeli w bazie. A co do odświeżania to cena nie powinna się uaktualnić bez przeładowania strony lub odświeżenia samego obiektu (jak w ajaxie).

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #8 dnia: Grudzień 02, 2012, 10:22:30 am »
jezeli chodzi o cene pobierana rozmiarowo to juz taki watek przewijal sie po forum i chyba, z tego co pamietam, zostal dos rzeczowo rozwiazany. raczej nie obedzie sie bez wiekszej przebudowy core.

interesuje mnie tylko jeden fakt, dlaczego ceny nie maja sie przelaczac z automatu? przeciez klient w kazdym momencie powienien wiedziec ile i za co placi.
design4VIP z innej strony...

*

Offline zwora

  • Nowy
  • *
  • 19
  • 0
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #9 dnia: Grudzień 04, 2012, 09:13:28 pm »
Z tym odświeżaniem chodzi o to, że w architekturze klient-serwer (a w takiej architekturze działają przeglądarki internetowe) żeby coś się zmieniło w wyświetlanym obrazie, to musi być wysłane żądanie od przeglądarki do serwera, a następnie serwer musi odpowiedzieć treścią, która jest interpretowana przez przeglądarkę. Może to być żądanie przeładowania całej strony, albo tylko jej jakiegoś elementu. W każdym bądź razie należy zażądać zmiany czegoś, żeby móc tę zmianę zobaczyć w oknie przeglądarki.

*

Offline sower

  • Mieszkaniec
  • *****
  • 1,016
  • 3
    • I Love PrestaShop
  • PrestaShop: PS
  • Status: Programista
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #10 dnia: Grudzień 05, 2012, 09:31:45 am »
eh...........

aby wyświetliło ci żądany element tam gdzie chcesz i chcesz użyć wbudowanego w prestę hook-a to po prostu w kodzie tpl np product.tpl  umieszczasz w wybranym miejscu np {$HOOK_EXTRA_RIGHT} i tam będzie ci wyświetlał to co masz powieszone na tym hooku.
Oczywiście możesz stworzyć własny hook i powiesić go w wybranym miejscu.

Cena - ustalasz w produkcje cenę za 1 metr kwadratowy i jest to bazowa cena
dopisujesz w product.tpl 2 pola - szerokość i wysokość a do nich obsługę w jquery, która zmieni cenę (szerokość x wysyokość x cena bazowa - czy jak tam chcesz inaczej)- tak jak to jest robione np w przypadku  - aktualizacja w jquery bez przeładowania strony.

Dalej musisz tylko dopisać funkcjonalność która pozwoli ci przesłać wcześniej wpisane wartości do koszyka i dalej do zamówienia
SZYBKA POMOC TECHNICZNA : gg 45116037
SKLEPY | MODUŁY | INTEGRACJE | POMOC TECHNICZNA

*

Offline zwora

  • Nowy
  • *
  • 19
  • 0
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #11 dnia: Grudzień 05, 2012, 10:30:38 am »
Ale ja to wszystko wiem (i już zresztą o tym pisałem). I tak też robiłem, ale:

1. Mam problem ze znalezieniem odpowiedniego hooka. Hook extraRight umieszcza moje elementy pod ceną, a ja chciałbym je mieć w bloku, gdzie są wyświetlane atrybuty (możliwe, że taki hook nie istnieje i trzeba będzie sobie samemu go napisać i jakoś wypozycjonować).

2. Cenę będę wyliczał na podstawie cennika umieszczonego w odpowiednich tabelach w bazie danych (z tym nie bede miał problemu, bo mam już doświadczenie w aplikacjach webowych), ale po jej wyliczeniu muszę odświeżyć na stronie element wyświetlający cenę (te parę cyfr opisujących cenę). Żeby to zrobić muszę odnieść się do obiektu, który ten element reprezentuje i wywołać odpowiednią metodę. Chodzi o coś w stylu getElementById("id_obiektu_cena").innerHTML=nowa_cena.

Bardzo proszę o wypowiadanie się przez osoby, które mają praktyczne doświadczenie w pisaniu modułów (pisaniu kodu) dla prestashop. Ja pytam już o konkrety, a nie jak się za to zabrać.

Moje dwa (konkretne) pytania brzmią:

1. Gdzie zaczepić kod, żeby wyświetlał się tam gdzie blok atrybutów?

2. Gdy mam już obliczoną wartość ceny jak mam się odnieść do elementu graficznie reprezentującego cenę (cyfry obrazujące cenę), żeby do niego załadować nową cenę i żeby się od razu wyświetliła?

Cały problem polega na tym, że pełno w sieci instrukcji i tutoriali o tym, jak coś w prescie wykonać poprzez backoffice, ale materiałów o tym, jak pisać kod oraz jak wygląda struktura sklepu od strony obiektowej jest jak na lekarstwo. Z informacji o kodzie są tylko proste przykłady pisania modułów i tyle. Brak jest dokumentacji dla developerów, takiej dokumentacji z prawdziwego zdarzenia.
« Ostatnia zmiana: Grudzień 05, 2012, 10:56:02 am wysłana przez zwora »

*

Offline mario

  • Mieszkaniec
  • *****
  • 640
  • 0
  • Płeć: Mężczyzna
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #12 dnia: Grudzień 05, 2012, 11:09:49 am »
Najprosciej to modyfikacja/rozbudowa kontrolerow, przekazujesz dodatkowe zmienne, dopisujesz/rozszerzasz templatke. Reszta to juz js, no i oczywiscie cookie.
Z modulami to wiekszy problem. I tak nieobedzie sie bez modyfikacji elementow wymienionych powyzej. Standardowe hooki ci w tym nie pomoga.
A nauka? no coz studiowac kod presty i jej modulow.
Manuali jest sporo, one ci tu nie pomoga, ty masz specjalne wymagania.

Jesli chcesz przez modul, to tak jak pisal sower $HOOK_EXTRA_RIGHT + funkcja jquery + dodatkowe tabele mysql + modyfikacja koszyka + templatki zamowien.

Gdzies juz widzialem taki modul do kupienia, ale sorki niepamietam, trzeba szukac.
Integracja wf-mag presta
freelancer

*

Offline zwora

  • Nowy
  • *
  • 19
  • 0
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #13 dnia: Grudzień 05, 2012, 11:45:47 am »
Dzięki za rzeczową odpowiedź. Szczerze powiedziawszy to obawiałem się takiej odpowiedzi, bo gdyby to można było łatwo zrobić przez moduł, to byłoby wiele porad jak to zrobić, lub wręcz bezpłatnych modułów. A zamiast tego są tylko pytania na ten temat na różnych forach. Ofertę na zrobienie czegoś takiego widziałem już na freelancer.com i w ostateczności złożę tam ofertę na zakup, ale ja zazwyczaj lubię wiedzieć jak coś działa i mieć nad tym kontrolę, więc fajnie byłoby to zrobić samemu. Ale muszę skalkulować czy opłaca się temu poświęcać, bo może to zająć sporo czasu, który może lepiej byłoby spozytkować na coś innego. W każdym bądź razie poszukam na razie materiałów o zmianie templatki i o strukturze sklepu.

*

Offline sower

  • Mieszkaniec
  • *****
  • 1,016
  • 3
    • I Love PrestaShop
  • PrestaShop: PS
  • Status: Programista
Odp: dodawanie nowych nietypowych atrybutów
« Odpowiedź #14 dnia: Grudzień 05, 2012, 12:07:05 pm »
no ja nie wiem czemu ludzie mają tendencję do utrudniania sobie życia ;)

tu masz przykład

http://easyartstore.com/product.php?id_product=17&width=15&height=10
SZYBKA POMOC TECHNICZNA : gg 45116037
SKLEPY | MODUŁY | INTEGRACJE | POMOC TECHNICZNA