Jump to content

[Darmowy moduł] Paczkomaty Prestashop 1.7 / 8 - wybór paczkomatu


Daresh

Recommended Posts

4 hours ago, Mistrz Yoda said:

Konsola przeglądarki coś wyrzuciła w trakcie jak operujesz na stronach sklepu?

Tak. Zaraz po wejściu na stronę sklepu pojawia się w konsoli:
"DevTools failed to load SourceMap: Could not load content for https://kqamil.com/themes/core.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE"

Natomiast po przejściu do koszyka :

"sdk-for-javascript.js:1 Uncaught TypeError: Cannot set property 'className' of null
    at W.build (sdk-for-javascript.js:1)
    at new W (sdk-for-javascript.js:1)
    at Object.e.dropdownWidget (sdk-for-javascript.js:1)
    at window.onload (gmparcellocker-dropdown.js:17)"

 

Link to comment
Share on other sites

On 8/31/2020 at 10:02 PM, fajfer said:

Wielkie dzięki za moduł - czy trzymasz może gdzieś kod źródłowy w jakimś systemie kontroli wersji? Gitlab, Github coś takiego? Pewnie ułatwiłoby nam pomoc związaną z rozwijaniem modułu. Gdybyś miał problem albo potrzebował pomocy z jakimś CI/CD, testami i ogarnięciem tego od strony community na gicie to chętnie służę pomocą

@Daresh podpisuję się pod powyższym, super jakbyś wrzucił źródła gdzieś, gdzie można dołożyć swoją cegiełkę i popracować wspólnie z Tobą nad rozwojem modułu.

Link to comment
Share on other sites

5 hours ago, kqamil said:

Tak. Zaraz po wejściu na stronę sklepu pojawia się w konsoli:
"DevTools failed to load SourceMap: Could not load content for https://kqamil.com/themes/core.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE"

Natomiast po przejściu do koszyka :

"sdk-for-javascript.js:1 Uncaught TypeError: Cannot set property 'className' of null
    at W.build (sdk-for-javascript.js:1)
    at new W (sdk-for-javascript.js:1)
    at Object.e.dropdownWidget (sdk-for-javascript.js:1)
    at window.onload (gmparcellocker-dropdown.js:17)"

 

Poradziłem sobie z tym.

1. aby pozbyć się wersji 1.4.0 usunąłem cały folder /gmparcellocker/ (nie mogłem jej odinstalować z poziomu Module Managera)
2. zainstalowałem wersję 1.3.1 ale dalej nie działało wybieranie paczkomatu (i ją odinstalowałem już bez problemu w Module Manager)
3. zainstalowałem wersję 1.3.0 - działa
4. na wersję 1.3.0 załadowałem wersję 1.4.0 i teraz działa wszystko jak należy :)

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

Presta 1.7.6.7 moduł OPC od Knowband po przejściu z PS 1.7.5 zniknął przycisk wyboru Paczkomatu. 

Zaktualizowałem moduł do wersji 1.4.0 problem pozostał. Odinstalowałem moduł, zszedłem do wersji 1.3.0 - nie działała i na nią ponownie zainstalowałem 1.4.0. Wszystko bezskutecznie, brak przycisku wyboru paczkomatu.

Link to comment
Share on other sites

  • 2 weeks later...

Dzięki za szybką odpowiedź. :)  OK, tylko czemu zwraca '---' 

public function getPointDataForCart($cartId, $raw = false) {
        $pointData = Db::getInstance()->getValue('SELECT `parcel` FROM `' . _DB_PREFIX_ . 'gmparcellocker` WHERE `id_cart` = ' . $cartIdz);
        if ($pointData) {
            if (!$raw) {
                $pointData = str_replace('|', ',', $pointData);
            }
            return $pointData;
        }
        return '---';
    }

SELECT `parcel` FROM `ps_gmparcellocker` WHERE `id_cart` = 201012002

zwraca: POL01A| Kopalniana 4A| 59-100 Polkowice

Dooobra XD widzę błąd:

jest:

    public function getPointDataForCart($cartId, $raw = false) {
        $pointData = Db::getInstance()->getValue('SELECT `parcel` FROM `' . _DB_PREFIX_ . 'gmparcellocker` WHERE `id_cart` = ' . $cartIdz);

powinno być:

    public function getPointDataForCart($cartId, $raw = false) {
        $pointData = Db::getInstance()->getValue('SELECT `parcel` FROM `' . _DB_PREFIX_ . 'gmparcellocker` WHERE `id_cart` = ' . $cartId);

sam se kuku zrobiłem. Sorry za zawracanie głowy. :)

Link to comment
Share on other sites

  • 2 weeks later...

Dzięki za wtyczkę, dorzucę kilka swoich uwag

1. Po wpisaniu adresu lista rozwijalna rozwija się pod oknem (jak w załączonym screenie)

2. W ustawieniach wybrałem żeby podmieniał opcje na adres dostawy paczkomatu - w mailu do klienta faktycznie zmienia, natomiast w mailu na sklep zostaje stary adres

wersja wtyczki: 1.4
PS 1.7.6.5 
PHP: 7.1.33
szablon: warehouse theme 4.3.2 - tu może być problem z tym 1 punktem (się gryzą)

edit1:

na problem numer 2 znalazłem rozwiązanie odpowiedz w aktualizacjach jak byk wypisana :P

edit2:

Dalsze obserwacje, niestety wychodzi, że jednak się gryzie z szablonem:

1. input-group ma position: relative

2. inpost-search__list ma position: absolute i pozycjonuje się względem pierwszego input-group (naszej wyszukiwarki

3. modal w którym pojawia się mapa ma wyższy z-index od listy 2.

MicrosoftTeams-image.png

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

  • 2 weeks later...

Z tymi sugestiami jest taka kwestia, że api inpostu wykorzystuje taką samą klasę, co niektóre lub wszystkie szablony presty do wyszukiwarki i do niego się odwołuje API, dlatego autouzupełnianie leci do naszej wewnętrznej wyszukiwarki, sam nad tym działam, myślę że jak się pozmienia klasy dla wyszukiwarki wewnętrznej na inne, to problem zniknie :). Tak jak w załączniku, zgadza się, wystarczy poprawić kwestię klasy css dla wyszukiwarki i problem przy sugestiach zniknie. 

inpost-modul.jpg

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

11 hours ago, ryszard93 said:

Z tymi sugestiami jest taka kwestia, że api inpostu wykorzystuje taką samą klasę, co niektóre lub wszystkie szablony presty do wyszukiwarki i do niego się odwołuje API, dlatego autouzupełnianie leci do naszej wewnętrznej wyszukiwarki, sam nad tym działam, myślę że jak się pozmienia klasy dla wyszukiwarki wewnętrznej na inne, to problem zniknie :). Tak jak w załączniku, zgadza się, wystarczy poprawić kwestię klasy css dla wyszukiwarki i problem przy sugestiach zniknie. 

inpost-modul.jpg

dzięki za odpowiedź, a w którym pliku tę klasę zmienić? 

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

Witam, Pomimo zaznaczenia na TAK - "Zamień adres dostawy na adres paczkomatu", adres dostawy w końcowym podsumowaniu zamówienia nie zmienia się na adres paczkomatu, oraz we wiadomości o sprzedaży adres jest jak z formularza. Poprawnie jest jedynie we wiadomości dla kupującego.

Link to comment
Share on other sites

U mnie jest jakis problem z modułem z ponownym wybraniem paczkomatu, po przejsciu na sposob wysylki z automatu zaznaczona jest opcja paczkomaty i działa poprawnie just button okna modalnego mozna wybrać paczkomat. NIestety jak zmienie dostawce na innego i chce wrocić do paczkomatu nie otwiera sie hook carrier-extra-content z buttotnem do wyboru paczkomatu screen4.

Probowałem to zmienić stylami aby to wyswietlić ale nie dziła 

 

Screenshot_1.jpg

Screenshot_3.jpg

Screenshot_4.jpg

Screenshot_5.jpg

Link to comment
Share on other sites

Witam,

nieopatrznie chciałem zainstalować na 1.6 i teraz nie mogę używać w panelu wyszukiwarki i zakładki moduły bo wyskakuje mi coś takiego

"[PrestaShop] Fatal error in module file :/home/server886603/ftp/piwodajnia/modules/gmparcellocker/gmparcellocker.php:
Uncaught Error: Interface 'PrestaShop\PrestaShop\Core\Module\WidgetInterface' not found in /home/server886603/ftp/piwodajnia/modules/gmparcellocker/gmparcellocker.php:20 Stack trace: #0 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1129): include_once() #1 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1107): ModuleCore::coreLoadModule('gmparcellocker') #2 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1841): ModuleCore::getInstanceByName('gmparcellocker') #3 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1795): ModuleCore::checkModuleFromAddonsApi('gmparcellocker') #4 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1699): ModuleCore::generateTrustedXml() #5 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1334): ModuleCore::isModuleTrusted('advancedeucompl...') #6 /home/server886603/ftp/piwodajnia/controllers/admin/AdminModulesController.php(1443): ModuleCore::getModulesOnDisk(true, false, 1) #7 /home/server886603/ftp/piwodajnia/clas"

z serwera usunołem już pliki modułu

co zrobić żeby wróciło do normy ?

Link to comment
Share on other sites

1 minute ago, artkrk said:

Witam,

nieopatrznie chciałem zainstalować na 1.6 i teraz nie mogę używać w panelu wyszukiwarki i zakładki moduły bo wyskakuje mi coś takiego

"[PrestaShop] Fatal error in module file :/home/server886603/ftp/piwodajnia/modules/gmparcellocker/gmparcellocker.php:
Uncaught Error: Interface 'PrestaShop\PrestaShop\Core\Module\WidgetInterface' not found in /home/server886603/ftp/piwodajnia/modules/gmparcellocker/gmparcellocker.php:20 Stack trace: #0 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1129): include_once() #1 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1107): ModuleCore::coreLoadModule('gmparcellocker') #2 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1841): ModuleCore::getInstanceByName('gmparcellocker') #3 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1795): ModuleCore::checkModuleFromAddonsApi('gmparcellocker') #4 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1699): ModuleCore::generateTrustedXml() #5 /home/server886603/ftp/piwodajnia/classes/module/Module.php(1334): ModuleCore::isModuleTrusted('advancedeucompl...') #6 /home/server886603/ftp/piwodajnia/controllers/admin/AdminModulesController.php(1443): ModuleCore::getModulesOnDisk(true, false, 1) #7 /home/server886603/ftp/piwodajnia/clas"

z serwera usunołem już pliki modułu

co zrobić żeby wróciło do normy ?

Przywrocic backup albo updatnac do nowej wersji

  • Haha 1
Link to comment
Share on other sites

16 minutes ago, fajfer said:

Przywrocic backup albo updatnac do nowej wersji

 

2 minutes ago, Holian said:

Jak nie masz backupu to chyba tylko postawić na nowo sklep z zachowaniem bazy

Tego typu błędy się naprawia, proszę takie porady zachować dla siebie ponieważ niepotrzebnie możecie komuś dołożyć sporo pracy lub kosztów.

  • Like 1
Link to comment
Share on other sites

10 minutes ago, endriu107 said:

 

Tego typu błędy się naprawia, proszę takie porady zachować dla siebie ponieważ niepotrzebnie możecie komuś dołożyć sporo pracy lub kosztów.

Jak ktos testuje na produkcji to i tak czeka go sporo pracy i kosztow...

Link to comment
Share on other sites

  • 2 weeks later...

Cześć wszystkim,

Jeżeli komuś nie działa moduł i nie wyświetla przycisku pod sposobem dostawy to niech sprawdzi czy tak jak ja:
1. Wyczyścił pamięć podręczną sklepu.
2. Ma włączoną w przeglądarce opcję "Disable cache".
3. Nie ma w stylu css czekoś takiego albo podobnie:

.row.carrier-extra-content {
    display: none!important;
}

U mnie zmiana stylu pomogła.
P.S. Wie ktoś jak zrobić żeby okienka .row.carrier-extra-content wyświetlały się tylko pod tym jednym konkretnym sposobem dostawy?

Edit:

Oczywiście po zmianach css należy ponownie wyszyścić pamięć podręczną sklepu.

Edited by czaro112112
Adding one step more (see edit history)
Link to comment
Share on other sites

Mam problem z wyświetlaniem przycisku do listy paczkomatów. Pojawia się przy pierwszym ładowaniu listy sposobów dostawy. Jednak gdy zmienię na Paczkomaty to przycisk znika (również gdy wybiorę innego dostawcę i później paczkomaty).

Wersja Presty 1.7.2.2
Wersja modułu 1.4.

obrazek pierwszego ekranu wyboru sposobu dostawy:

obraz.thumb.png.ed7f336aadfeafbfe47e498a6675ed66.png

obrazek po zmianie sposobu dostawy:

obraz.thumb.png.51df9a110478d31a375f749dd0f98f40.png

Dodałem sobie do pliku JS modułu coś takiego:

 $("#delivery_option_65").on( "click", function() {
    if ($('#delivery_option_65').is(':checked')) { $('.carrier-extra-content').show(); $('.gmparcellocker-button').show(); window.checkGmParcellocker = true; }
});

65 to ID dostawcy paczkomat InPost. Częściowo mój kod działa, pojawia się przycisk. Niestety po sekundzie lub nawet mniej znika, nie potrafię zlokalizować przyczyny.

Bardzo proszę o pomoc w rozwiązaniu problemu, wskazanie co powinienem zrobić żeby naprawić to w lepszy sposób albo po prostu co wyłączyć aby ten przycisk nie znikał po sekundzie po wywołaniu mojego kodu.

 

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

  • 3 weeks later...

Witam, mam pytanie odnośnie integracji z Baselinkerem. O jakie API chodzi? w BaseLinkerze czy w Presta?

 

"Integracja z Baselinkerem - aby dane paczkomatu pokazywały się jako punkt odbioru. Przy integracji przez API po instalacji modułu trzeba w ustawieniach klucza API zaznaczyć wszystkie uprawnienia dla zasobu bl_order.

Jeżeli macie na sklepie moduł baselinker, to trzeba go wcześniej usunąć bo będzie konflikt."

Link to comment
Share on other sites

API presty, ale od tamtego czasu wiele się zmieniło i mam sygnały, że Baselinker dodał obsługę tego modułu przy integracji przez plik.

Nie trzeba też usuwać modułu baselinker jeżeli integrujemy się przez API :)

Link to comment
Share on other sites

Witam,

Próbuję zainstalować ten moduł w systemie ThirtyBees 1.1.0, ale mam komunikat: "The version of your module is not compliant with your thirty bees version".

Czy to oznacza, że moduł jest przeznaczony tylko dla systemu Prestashop?

Jeśli tak, to czy planuje Pan dodanie zmian do modułu, które pozwolą na jego wykorzystanie również w TB, który w zasadzie jest pewną odmianą PS?

 

Pozdrawiam.

Link to comment
Share on other sites

Witam, po zainstalowaniu modułu Paczkomaty Inpost icon fonty tylko na stronie zamówienia zamieniły mi się w migające na przemian znaki zapytania z wykrzyknikiem. Czy ktoś wie o co może chodzić? Próbowałem przeszukaj między plikami js jakichś konfliktów, ale nic nie widzę. Szablon warehouse i standardowy tryb zamówienia bez opc

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

Nie wiem czy problem występuje tylko u mnie, ale nie ma walidacji czy paczkomat został wybrany, czyli mozna przejsc cały checkout zaznaczajac wysylke do paczkomatu ale nie wybierając do którego.

  • Like 2
Link to comment
Share on other sites

On 3/5/2021 at 1:41 PM, sieczken said:

Witam, po zainstalowaniu modułu Paczkomaty Inpost icon fonty tylko na stronie zamówienia zamieniły mi się w migające na przemian znaki zapytania z wykrzyknikiem. Czy ktoś wie o co może chodzić? Próbowałem przeszukaj między plikami js jakichś konfliktów, ale nic nie widzę. Szablon warehouse i standardowy tryb zamówienia bez opc

mam to samo, jest to prawdopodobnie spowodowane dodaniem

<script async src="https://geowidget.easypack24.net/js/sdk-for-javascript.js"></script>

<link rel="stylesheet" href="https://geowidget.easypack24.net/css/easypack.css"/><script>

a w nim ponownie ładowanie font awesome :o i to powoduje znikanie ikon, zamiane ich w znaki zapytania

Link to comment
Share on other sites

Dzień dobry.

Pomyliłem się prestashop najnowsza tzn. 1.7.7.2

Mam ustawione Domyślny przewoźnik - Kurier inpost.

Wybieram/zmieniam w koszyku na paczkomaty i nie wyświetla mi się "wybór paczkomatu" - ale jak wybiorę opcję paczkomat i zrobię odśwież pojawia się przycisk.

W czym leży problem? czy ktoś może mnie pokierować? Wiadomo klient się nie domyśli, że ma odświeżyć...

 

Z góry dzięki za pomoc!

Miłego dnia!

 

Link to comment
Share on other sites

Z reguły tak się dzieje jak jakiś inny moduł czy skrypt wywala się i powoduje błąd Javascript, który następnie powstrzymuje wykonywanie innych skryptów. Zacząłbym więc od analizy komunikatów w konsoli (F12).

Link to comment
Share on other sites

Potrzebna jest mi druga metoda dostawy Inpost Paczkomaty na potrzeby przesyłki weekendowej (inna cena). Kopia modułu, tak jak to się kiedyś robiło w 1.6, wystarczy czy to bardziej skomplikowana sprawa? Obawiam się braku kompatybilności z pozostałymi modułami i Baselinkerem.

Link to comment
Share on other sites

Może warto rozważyć dodanie tego do głównego modułu, żeby wszyscy mogli skorzystać :)

Na czym dokładnie polega ta przesyłka weekendowa? To jest tylko inna cena, a reszta wszystko bez zmian? Ten sam zestaw paczkomatów? Wystarczyłoby jakby był drugi przewoźnik na liście do wyboru działający na takiej samej zasadzie jak ten zwykły i widoczny obok niego cały czas?

Link to comment
Share on other sites

No warto, warto, oczywiście :)

Moduł konkurencji (inpostship) to ma i to jest po prostu druga metoda dostawy (z inną nazwą, logiem i ceną). Druga metoda korzysta z tej samej listy paczkomatów.

Dodatkowo oni mają tam jeszcze automatyczne włączanie i wyłączanie metody w przedziale czasowym (np. włączenie w czwartek po 13:00 i wyłączenie w piątek o 13:00). Ale to akurat nie jest koniecznie potrzebne, można załatwić to odpowiednią etykietą obok nazwy tej metody i informować klienta, że wysyłka odbywa się w piątek z dostawą w sobotę/niedzielę.

Moim zdaniem najważniejsza jest możliwość zrobienia duplikatu metody wysyłki Inpost Paczkomaty generowanej przez Twój moduł.

Link to comment
Share on other sites

OK, wprowadziłem taką zmianę i wrzuciłem zaktualizowany moduł do pierwszego posta (v. 1.4.1), proszę o testy.

Wybór paczkomatu dla wielu przewoźników działa przy opcji wyboru z mapy, a nie jako lista rozwijana.

Jak to się sprawdzi to w dalszym etapie poszukam sposobu na to żeby ograniczyć wyświetlanie tego przewoźnika do zadanych godzin.

Link to comment
Share on other sites

Wszystko działa zgodnie z założeniami. Dziękuję

Jedyne co zauważam, to ostrzeżenie w konsoli: "[DOM] Found 2 elements with non-unique id #parcel-choose" oraz błąd "Uncaught Error: Map container is already initialized.". Nie wpływają one na ogólne działanie modułu.

Link to comment
Share on other sites

Pierwsze to raczej drobnostka, przy okazji którejś z kolejnych aktualizacji się załatwi, jeżeli przeszkadza to można usunąć id="parcel-choose" z pliku button.tpl, bo nie jest już używane.

Drugie to nie wiem, czasem widywałem to nawet przy jednym przewoźniku, to może być bardziej związane z funkcjonowaniem skryptu od InPost.

Link to comment
Share on other sites

Czy jest możliwość ograniczenia wyboru tylko do Paczkomatów? Nie wiem, czy to problem InPost, czy tak ma być, ale gdy Klient wybierze Punkt Odbioru, a nie Paczkomat, to nie da się wygenerować przesyłki. 

Ciekaw jestem, czy ktoś jeszcze zauważył taki problem.

Link to comment
Share on other sites

Nie wiem jak to wygląda jeżeli chodzi o generowanie przesyłki, ale temat ograniczenia punktów wyboru tylko do paczkomatów do rozpoznania, jeżeli API da taką możliwość to dodam nową opcję w module.

Link to comment
Share on other sites