Klient spotkał się z konfliktem między biblioteką customerchat.js (moduł messengera) oraz biblioteką all.js (moduł logowania facebook). Poniżej opisana została problematyka i sposób rozwiązania problemu.

two widgets in one module facebook messenger

Witam,
Problem bibliotek jest bardziej złożony a wynika on bezpośrednio z "bałaganu" jaki panuje na platformie developerskiej facebook. O tym poniżej.

Wszystkie z integracji z facebook - począwszy od prostych widgetów jak np likebox, po messengera, czy bardziej wymagające integracje pobierające dane z API facebook (np. logowanie facebook) do swojego działania wymagają odpowiednich bibliotek ładowanych z domeny "connect.facebook.net". Facebook posiada kilka bibliotek, których stosowanie zależne jest od celów, jakie chcemy osiągnąć. I co najważniejsze - do strony możemy załadować wyłącznie jedną bibliotekę - gdy załadujemy ich więcej - to integracje będą działały częściowo, nie będą działać poprawnie lub nie będą działać wcale. (Dochodzi wtedy do konfliktu o którym Pan wspomniał).

Zestawienie bibliotek i możliwości, jakie one oferują:
biblioteka facebookWidgety (np. likebox, pagechat)Messenger chatFacebook api (facebook login)
all.js
all.js + appID
sdk.js
sdk.js + appID
customerchat.js
customerchat.js + appID

I tak - w kontekście Pana problemu:
  • gdy w module "logowania facebook" włączy Pan ładowanie biblioteki facebook - ładowana jest biblioteka all.js z numerem appID (drugi wiersz w tabeli)
    Jak wynika z powyższej tabeli - biblioteka pozwala na korzystanie z widgetów oraz z facebook api. Natomiast już z messengera nie.Dlatego też w tym przypadku nie jest możliwe aby zainicjowany został Messenger Chat.
  • Natomiast gdy załadowany zostanie zwykły customerchat.js (bez appID) - wówczas będzie działał tylko chat messengera, proste widgety jak np. likebox czy wymiana danych z api nie będą działać poprawnie (To jest ten konflikt o którym Pan wspomniał).

Jak wynika z powyższej tabeli - najbardziej rozbudowaną biblioteką oferującą komplet integracji jest customerchat.js + appID. Oznacza to tyle, że jeżeli chce Pan korzystać jednocześnie z logowania facebook oraz messengera to trzeba by było załadować tę bibliotekę.

Dlatego najlepszym rozwiązaniem będzie:
wyłączenie ładowania biblioteki facebook w module facebook login (wówczas all.js + appID nie będą ładowane)
- w module "messenger chat" (nie wiem z jakiego rozwiązania Pan korzysta) należy pozostawić bibliotekę customerchat.js oraz dodatkowo wyposażyć ją w numer aplikacji appID 

Tylko wtedy będzie mógł Pan korzystać ze wszystkich możliwości integracji facebook - począwszy od messengera - aż po wymianę danych z API facebook (logowanie facebook).

To właśnie z tych powodów opisanych powyżej, gdy zdecyduje się Pan na zakup jakiegoś modułu facebook - warto zwrócić uwagę aby oferował on włączanie / wyłączanie ładowania bibliotek facebook oraz miał możliwość definiowania numerów appID. Pozwoli to uniknąć sporo problemów z działaniem różnych integracji facebook
Dzień dobry,
czy ten moduł https://mypresta.eu/pl/moduly/administracja-sklepem/eksport-produktow-pro.html wyciągnie mi produkty powiązane dla danego produktu?

Witam,
potwierdzam, że moduł załącza dane o "akcesoriach": 

o ile są to akcesoria:
  1. zdefiniowane przy pomocy standardowej funkcji akcesoriów w PrestaShop, np:

Moduł eskportuje akcesoria, gdy z listy "Struktura pliku CSV/XML" zostanie wybrana wersja 1.7.3+ (gdyż dopiero od tej wersji do narzędzia importu wprowadzony został support akcesoriów).

pozdrawiam,
miłosz
Mam pytanie odnośnie modułu maksymalnej ilości produktów w koszyku ile by kosztowało dopisanie do niego, sprawdzanie czy jest już w koszyku jeden lek z efedryną. Stawiamy aptekę online i potrzebujemy moduł, który pozwoli na ograniczenie zakupu danego produktu, do 1x dziennie, tygodniowo lub miesięcznie, ale potrzebujemy również, aby moduł sprawdzał czy w koszyku jest już produkt z pseudoefedryną

Witam,

Sądzę, że mogę zaproponować rozwiązanie, które spełni oczekiwania, a które w 2014 roku powstało właśnie we współpracy z jedną z niemieckich aptek (potrzebowali funkcji, która nie pozwalałaby łączyć produktów w zamówieniu). Ten moduł to: https://mypresta.eu/pl/moduly/skladanie-zamowien/reguly-koszyka-pro.html - wśród funkcji w module jest możliwość limitowania ilości produktów w koszyku a w tym również ustalanie niedozwolonych połączeń produktów (np. produkt A nie może być zamówiony z produktem B, produkt z kategorii "z efedryną" nie może być łączony z innym produktem z tej samej kategorii). Oprócz tego jest jeszcze kilka innych warunków.

Klient z niemiec rozwiązał to tak, że stworzył ukryte kategorie np "Codein-Medikamente" (leki z kodeiną), do której przypisał produkty zawierające kodeinę. Następnie w module ustalił regułę:
  • produkt z kategorii "Codein-Medikamente" nie mogą być łączone z produktami z tej samej kategorii "Codein-Medikamente"

Niektóre z produktów wymagały dodatkowych niedozwolonych połączeń, np. leki z pseudoefedryną nie można było łączyć z lekami z kodeiną. 
  • I znów klient utworzył ukrytą kategorią leki z pseudoefedryną i ustawił regułę nie pozwalającą łączyć produktów z kategorii "leki z pseudoefedryną" z lekami z kategorii "leki z kodeiną.

Dzięki zastosowaniu ukrytych kategorii nie było konieczności ustalania zabronionych połączeń indywidualnie dla produktów (zbyt dużo pracy - zwłaszcza jeszcze apteka oferuje setki produktów zwierających substancje których nie można łączyć)

pozdrawiam,
miłosz
Czy posiadacie Państwo w ofercie moduł, który daje możliwości takie, że klient ogląda produkt. U góry ekranu są informacje wstępne, a poniżej są różne możliwości dla tego produktu. W rzeczywistości, to właśnie poniżej znajdują się te produkty. Po kliknięciu w jeden z nich do koszyka trafia produkt, z adnotacją, kóry został wybrany z listy.
 Jeżeli nie posiadacie Państwo nic gotowego, to czy istnieje możliwość zamówienia takiego modułu?


Witam,
Wszystko zależy od tego w jaki sposób zorganizował Pan sprzedaż tego typu produktów u siebie na sklepie. 
W preście można to osiągnąć dwojako, na podstawie kombinacji i na podstawie zwykłych produktów.

Sposób oparty o kombinacje
Na przytoczonym przykładzie wygląda to tak, że jest "bazowy" produkt Naturstein-Waschbecken, który dostępny jest w kilku wariantach.

Jeżeli zorganizowałby Pan to podobnie u siebie tj:
- utworzył bazowy produkt "Naturstein-Waschbecken" i ustawił go jako produkt z kombinacjami
- dodał atrybut np. "wariant" i utworzył kilkanaście wariantów (wartości atrybutu) tego produktu

to można by było osiągnąć to za pomocą modułu "combinations table" - czyli tabeli kombinacji
Moduł ten tworzy tabelę wariantów produktu, które można kupić. Tabele można łatwo spersonalizować stylami css. Dzięki temu lista wariantów produktu będzie wyglądać podobnie jak na przytoczonym przykładzie.


Sposób oparty o produkty
Jeżeli w Pana sklepie każdy wariant produktu "Naturstein-Waschbecken" nie będzie zbudowany w oparciu o kombinacje, lecz po prostu będzie osobnym produktem, np:
  1. Naturstein-Waschbecken 1
  2. Naturstein-Waschbecken 2
  3. Naturstein-Waschbecken 3
  4. Naturstein-Waschbecken 4
  5. itd.

To podobny efekt można osiągnąć korzystając np. z modulu "related products pro", który pozwoli na stronie produktów wyświetlać "produkty powiązane".
Moduł będzie można zaprogramować tak, że te produkty Naturstein-Waschbecken 1, Naturstein-Waschbecken 2, Naturstein-Waschbecken 3 itd. będą wyświetlać się w taki sposób jak na przykładzie.


Gdybym to ja miał decydować - wybrałbym wariant pierwszy, oparty o kombinacje


pozdrawiam,
miłosz
Witam czy używając modułu darmowego "Prestashop Ocena i komentarz o produkcie"Będzie możliwość importu komentarzy do najnowszej wersji Prestashop gdzie jest wbudowany moduł Komentarzy produktów ??



Witam,
Istnieją sposoby przenosin komentarzy - jednak wymagane będzie podjęcie czynności.
Otóż, oba moduły korzystają z tych samych tabeli w bazie danych. Oficjalny moduł podczas instalacji będzie próbował nadpisać bazę danych co skutkować będziie błędami w trakcie instalacji. Dlatego będzie trzeba tą funkcję wyłączyć.

w pliku
/modules/productcomments/install.sql usuwamy linie:
INSERT IGNORE INTO `PREFIX_product_comment_criterion` VALUES ('1', '1', '1');

INSERT IGNORE INTO `PREFIX_product_comment_criterion_lang` (`id_product_comment_criterion`, `id_lang`, `name`)
  (
    SELECT '1', l.`id_lang`, 'Quality'
    FROM `PREFIX_lang` l
  );

po instalacji modułu komentarze z naszego modułu będą automatycznie widoczne w tym nowym od prestashop.
Proszę mieć również na uwadze fakt, że nowy oficjalny plugin "productcomments" od prestashop nie będzie działał w trybie mulitstore - po prostu nie jest przygotowany do działania w tym trybie jak i będzie w nim brakować niektórych kluczowych opcji.

pozdrawiam,
miłosz
Witam, mam pytanie dotyczące modułu kodu rabatowego na kolejne zakupy w sklepie. Czy ustawiając sposób generowania kuponów oparty o zamówienia lecz z ustawionym zakresem zamówień (Konkretny okres ustawiony np. od teraz do 2099-01-01) zabezpieczymy się przed generowaniem kuponów za wcześniejsze zamówienia? Czy przy wyłączonej opcji Cron job kupony powinny się pojawiać automatycznie czy są generowane po jakimś czasie od zmiany wymaganego statusu?

Witam,
W module są dwa tryby "liczenia" zamówień:
  • Sposób liczenia oparty o ZŁOŻONE ZAMÓWIENIA
    Ta opcja liczy wszystkie zamówienia klienta, nawet te stare. Jeżeli zdefiniujesz zakres (przykładowo): od 0 do 5 zamówień aby otrzymać kupon, wówczas moduł wygeneruje kupon jednorazowo i tylko wtedy gdy liczba zamówień klienta będzie mieścić się w zdefiniowanym zakresie.

  • sposób liczenia oparty o WYGENEROWANE KUPONY
    Ta opcja liczy wyłącznie ilość wygenerowanych kuponów, nie zlicza starych zamówień. Jeżeli zdefiniujesz zakres (przykładowo): od 0 do 5 zamówień aby otrzymać kupon, wówczas moduł wygeneruje kupon za każdym razem gdy liczba zamówień klienta będzie mieścić się w zdefiniowanym zakresie.

Zatem rozumiem, że chce Pan korzystać z opcji Sposób liczenia oparty o ZŁOŻONE ZAMÓWIENIA, dodatkowo wspomagając ją opcją [Zakres zamówień: Konkretny okres] - która przeliczy ilość zamówień ze wskazanego okresu (np. od 5 luty 2020 do 1 stycznia 2099).

Korzystając z tych ustawień - potwierdzam, że moduł będzie liczył zamówienia złożone wyłącznie od dnia 5 lutego 2020. Wcześniejsze zamówienia nie będą uwzględniane więc moduł nie wygeneruje dla nich kuponów rabatowych oraz nie uwzględni ich w kalkulacji liczby zamówień, jaką klient złożył w sklepie. Krótko mówiąc, moduł będzie zachowywał się tak, jakby zamówienia złożone przed 5 lutego 2020 nie istniały.


Czy przy wyłączonej opcji Cron job kupony powinny się pojawiać automatycznie czy są generowane po jakimś czasie od zmiany wymaganego statusu?

Przy wyłączonej opcji cron job zamówienia będą wysyłane natychmiast po zmianie statusu zamówienia. 

Witaj, czy mogę przekazać ci niewielką niedogodność związaną z korzystaniem z modułu do wyświetlania akcesoriów na listach produktów? Lubię twoje moduły i twoją pracę, dlatego przynoszę ci moje problemy z użytkowaniem. Twój moduł jest prawie idealny, ale chciałbym móc wybrać, na której stronie pokażę te akcesoria (w języku francuskim: produkt powiązany). Na stronach produktów jest idealnie. Ale na stronie głównej i stronach kategorii chciałbym móc dezaktywować widok tych akcesoriów. Ponieważ powiększa arkusze produktów i zniekształca całą stronę. Masz pomysł, aby to zrobić? - Może kod do zmiany w css lub innych w tym module? - Lub na custom.css mojego motywu? - A może świetna aktualizacja tego modułu, oferująca możliwość wyboru, na których stronach go aktywować?   - Lub możliwość posiadania tych akcesoriów na liście rozwijanej w stylu akordeonu? W każdym razie dziękuję za udział w naszych małych firmach. Życzę ci bardzo udanego weekendu

Witam,
to jest do zrealizowania już teraz przy pomocy standardowych funkcjonalności prestashop, które pozwalają decydować na jakich stronach moduł będzie się pokazywał.
  1. idziemy do działu design > pozycje (design > positions):
  2. wyszukujemy modułu "product accessories on list"
  3. klikamy w button "edytuj" przy module:
  4. na kolejnej stronie z listy:

    wybieramy strony, na których nie chcemy pokazywać modułu. czyli "index" - strona główna oraz "categories" - czyli kategorie