Mam problem z modułem Załączniki do wiadomości e-mail. Moduł nie dodawał załącznika mimo, że był zapisany, a teraz po zaktualizowaniu nie mogę stworzyć w ogóle reguły dodawania załącznika bo mam taki błąd: INSERT INTO `pr_mailfile` (`id_mailfile`, `id_shop`, `id_lang`, `id_cms`, `mailfile_name`, `order_id_product`, `mailfile_type`, `mailfile_template`, `active`, `date_add`, `date_upd`, `body`, `file_name`) VALUES ('0', '1', '2', '6', 'Regulamin-sklepu-internetowego.pdf', '0', '1', 'order_canceled', '1', '2021-08-11 14:46:36', '2021-08-11 14:46:36', '', 'regulamin.pdf') Nie podam product ID bo nie chcę podać. Moduł kupiłem, żeby dodawał załączniki z regulaminem do potwierdzenia złożonego zamówienia i nie działa. 



Dzień dobry,
to kwestia aktualizacji, wystarczy go zainstalować ponownie.
nowa wersja przyniosła kilka usprawnień oraz nową funkcję, która pozwala wysyłać załączniki w mailach o zamówieniach gdy dane zamówienie było złożone na jakiś produkt.
odinstalowanie i ponowne zainstalowanie modułu nie spowoduje utraty danych, moduł będzie pamiętał wszystkie wcześniej utworzone załączniki.

zatem remedium to:
1) odinstalowujemy moduł
2) instalujemy go ponownie

 Dzień dobry.

Czy posiada Państwo moduł do ustawiania oddzielnie indywidualnych kont bankowych dla poszczególnych sklepów w multishop. Każdy sklep w multishop musi mieć własny numer konta bankowego, z możliwością zainstalowania paypal dla każdego sklepu oraz możliwości wyboru odbioru za pobraniem?

Pozdrawiam


Dzień dobry
Z oczekiwań, które Pan opisał wynika, że potrzebują Państwo modułów płatności, które:
- dodadzą do sklepu metodę płatności przelewem bankowym
- dodadzą do sklepu metodę płatności paypal
- dodadzą do sklepu metodę płatności "za pobraniem"

Nie ma jakiegoś jednego uniwersalnego rozwiązania, które pozwalałoby dodać wszystkie z tych metod płatności za pośrednictwem jednego modułu. Zwykle przy metodach płatności jest tak, że za jedną konkretną metodę płatności odpowiada jeden moduł który jest stricte dedykowany do obsłużenia tej metody (Np. paypal). Mechanizm obsługi płatności w PrestaShop jest tak skonstruowany, że zbudowanie jednego rozwiązania, które dodałoby wiele różnych metod płatności jest możliwe, ale jest to na tyle skomplikowane, że koszt wdrożenia / zbudowania takiego rozwiązania i zapewnienia późniejszego supportu zdecydowanie przewyższyłby wartość poszczególnych rozwiązań kupowanych osobno. Poza tym - jest to wbrew oficjalnej dokumentacji. 


Zatem, wracając do sedna wątku,
W trybie multistore może Pan definiować ustawienia modułów indywidualnie dla każdego ze sklepów. Podczas zarządzania sklepem w zapleczu wystarczające jest wybranie sklepu, którym chce Pan zarządzać 



Wtedy np:
- wchodząc w ustawienia standardowego modułu przelewu bankowego, może Pan ustawić nr konta dla sklepu, który obecnie jest ustawiony jako ten, którym chce Pan zarządzać
- wchodząc w ustawienia standardowego modułu "paypal", może Pan ustawić jego parametry dla sklepu, który obecnie jest ustawiony jako ten, którym chce Pan zarządzać
- wchodząc w ustawienia standardowego modułu "za pobraniem", może Pan ustawić jego parametry dla sklepu, który obecnie jest ustawiony jako ten, którym chce Pan zarządzać

Wynika z tego, że możliwe jest osiągnięcie tego czego Pan oczekuje przy zastosowaniu standardowo dostępnych wtyczek. Nie są potrzebne żadne dodatkowe rozwiązania.
Opcjonalnie, może Pan skorzystać z bardziej rozbudowanych modułów, które obsłużą te metody płatności (umożliwia definiowanie kont walutowych, dodawanie prowizji do "za pobraniem" itp):
- za pobraniem z prowizją https://mypresta.eu/pl/moduly/obsluga-platnosci/za-pobraniem-z-dodatkowa-oplata.html 
- przelew bankowy z obsługą kont walutowych: https://mypresta.eu/pl/moduly/obsluga-platnosci/przelew-bankowy-z-podsumowaniem-zamowienia.html 
- przelew bankowy ze zniżką: https://mypresta.eu/pl/moduly/obsluga-platnosci/znizka-przy-platnosci-przelewem.html 
- odbiór w sklepie (płatność przy odbiorze ze zniżką/prowizją): https://mypresta.eu/pl/moduly/obsluga-platnosci/platnosc-przy-odbiorze-w-sklepie-doplata.html

przypominam, że korzystanie z tych rozszerzonych modułów nie jest konieczne do osiągnięcia tego, czego Pan oczekuje. Są to jedynie rozwiązania opcjonalne, które rozszerzają funkcjonalności tych standardowo dostępnych.

pozdrawiam,

miłosz 

 Dzień dobry Chodzi mi o moduł do wyświetlania cen w różnych walutach. Zależy mi na takim module ale pod warunkiem, że tylko jedna waluta w sklepie będzie conajwyżej aktywna. Nie chcę by klienci kupowali w innej walucie niż PL ponieważ PayU chce jakiś abonamentów za przelewy walutowe. Czyli: jedna waluta w sklepie ale ceny w różnych walutach. Czy ten moduł da radę? Z góry dziękuję za info. Pozdrawiam

Dzień dobry,
Pozostałe waluty musiałyby być oczywiście dodane do sklepu, ale mogą być "wyłączone" czyli niedostępne na froncie (byłyby tylko w zapleczu).
W takim wypadku moduł zadziała zgodnie z oczekiwaniami. Moduł ma do tego dedykowaną opcję: 


wystarczy ją włączyć i moduł pokaże na froncie ceny w wybranych walutach które są wyłączone.

pozdrawiam,
miłosz

 Witam. Chciałbym się dowiedzieć, czy jest gdzieś dostępne jakieś demo modułu Masowa edycja kombinacji, Gdyż chciałbym za pomocą tego modułu ułatwić sobie życie podczas tworzenia wariantów produktu w preście 1,7 które działa fatalnie, bo nie jest w stanie od razu wygenerować rożnych cen w oparciu o wpływ każdego wariantu jak size i color. Czy w tym module też musiałbym każdy z wariantów produktu modyfikować indywidualnie, czy dało by sie to jakoś uprościć dodając wpływ ceny dla każdego z atrybutów oddzielnie?



Dzień dobry,
w module jest opcja, która pozwala szybko podnieść cenę wskazanych kombinacji, tj:
1) najpierw wybieramy kombinacje (np. jednym kliknięciem wybieramy kombinacje mające atrybut rozmiar: XL)
2) zmieniamy masowo wartość pola price impact (możemy tę wartość podnieść o wskazaną kwotę, lub obniżyć)

jak na video:
https://drive.google.com/file/d/1cbfoP_dZVnDn954udvQ7LzBspLfVaJaG/view?usp=drivesdk 

zaplecze do testu:
url: https://apps.facepages.eu/17650/padmin/
login: demo@demo.com
pass: demodemo

tu bezpośredni link to strony edycji produktu z kombinacjami:
https://apps.facepages.eu/17650/padmin/index.php/sell/catalog/products/1?_token=CCcsRoH6cB98gpnBnhO3_0PVRfmTj-Uj59v2wCx1nCo#tab-hooks


pozdrawiam,

miłosz 

 Kupiłem wtyczkę Product page content blocks i testuje. Zamówienie z dzisiaj na mój adres mailowy.

Czy byłaby możliwość edycji kodu, lub podpowiedzi jak uruchomić shortcode wygenerowany przy pomocy pluginu Ap ShortCode Manage (https://www.leotheme.com/blog/updates/714-guide-to-add-shortcodes-in-ap-pagebuilder-module.html).

W dokumentacji znalazłem info że domyślnie obsługa shortcodów uruchomiona jest dla kliku pól takich jak: Product Description, Product Short Description, Category Description, CMS Content.

Wydaje mi się że wystarczy dodać obsługę pól dostępnych we wtyczce Prestashop Product page content blocks w pliku _ProductController.php znajdującym się w folderze modules/appagebuilder/override/controllers/front


W skrócie po wstawieniu shortcode do pola dodanego przez wtyczkę, nie pobiera mi tego co potrzebuje tylko wyświetla tekst shortcode.



Dzień dobry,
Moduł uruchamiany jest przez hooki - nie jest on dołączany do productControllera. 
Dlatego moim zdaniem zmiany wymaga funkcja uruchamiająca hooki. tj Hook::exec
na jego końcu jest kod return $output

musimy poprzedzić go kodem inicjującym shortcode dla treści wyświetlanej przez hooki, 
tj kod powinien wyglądać tak:
if ((bool)Module::isEnabled('appagebuilder')) {
$appagebuilder = Module::getInstanceByName('appagebuilder');
$output = appagebuilder->buildShortCode($output);
}
return $output;

 

 Mam problem z modułem google merchant center. Podczas generowania feedu moduł pobiera również produkty, które są nieaktywne w sklepie. Co może być przyczyną? Drugi problem dotyczy kategorii google. i wybraniu opcji "synchronizuj" nadal nie widnieją wybrane kategorie. Ile czasu może trwać ta aktualizacja? Będę wdzięczny za pomoc.


Dzień dobry
"synchronizacja" polega na pobraniu najnowszego pliku z "kategoriami google" ze stron google. Plik zostaje zapisany w katalogu z modułem i wtedy możemy przystąpić do parowania kategorii. "Synchronizacja" w żaden sposób nie łączy automatycznie kategorii w sklepie z kategoriami w google. Drzewo kategorii każdego sklepu jest inne, kategorie mają swoje własne nazwy i całej procedury nie można w żaden sposób zautomatyzować.

Kiedy po kliknięciu w "synchronizuj" pobierze się plik z kategoriami google to pojawi się informacja że np. plik pl-pl.txt istnieje
jak na video: https://drive.google.com/file/d/1hATWFdr-myT6480dk-Q3U8Tk4-OBinMF/view?usp=drivesdk 

kiedy drzewo kategorii z google zostało pobrano (i przy danym języku wyświetla się informacja że plik pl-pl.txt istnieje) to klikamy w button "parowania kategorii".
po kliknięciu w ten button otworzy się okno popup gdzie możemy powiązać kategorie ze sklepu z kategoriami z drzewa google: https://drive.google.com/file/d/1YudYANnGVlZRhJj6RpE36VwCBWmP066q/view?usp=drivesdk 


co do eksportu produktów które są wyłączone.
czy w toku konfiguracji formularza eksportu została wybrana opcja, która wyeksportuje "tylko aktywne produkty" ?

chodzi o tę opcję: 


 (domyślnie włączony jest eksport wszystkich produktów) 

 Mam pytanie o wtyczkę Prestashop Seo Redirects 301, 302, 303. Czy ona idealnie nadała by się robienia przekierowań jeśli produkt jest już nie aktywny lub usunięty? Oraz mam pytanie czy to jest natywny mechanizm w silniku presty ze po podaniu samego id w url przekierwouje na produkt z danym id ale juz z pełnym url?


Dzień dobry,

Czy ona idealnie nadała by się robienia przekierowań jeśli produkt jest już nie aktywny lub usunięty?

Tak, w module jest opcja która pozwala na wykonanie przekierowania dla takich produktów, np. w przypadku gdy produkt nie jest aktywny:
- mamy możliwość przekierowania strony takiego produktu np. na stronę głównej kategorii tego produktu lub na stronę główną, 
jeżeli produktu już nie ma w sklepie (został usunięty) to w takim przypadku możemy stronę przekierować na "główną" stronę sklepu
oprócz tego jest tam pare innych funkcji które towarzyszą identyfikacji wyłączonych/usuniętych produktów (np możliwośc zdefiniowana typu przekierowania, wykluczeń itp).


Oraz mam pytanie czy to jest natywny mechanizm w silniku presty ze po podaniu samego id w url przekierwouje na produkt z danym id ale juz z pełnym url?

Za tę funkcję odpowiedzialny jest tzw. canonical redirection, który jest standardowo dostępnym mechanizmem w prestashop.
Jest to funkcja w prestashop, która znajduje się w frontController.php (classes/controllers/front/FrontController.php) i jest ona uruchamiana w sytuacji gdy adres url w przegląarce nie odpowiada temu który jest zdefiniowany w polu "friendly url" danego produktu/kategorii/strony cms itp: 



    protected function canonicalRedirection($canonical_url = '')
    {
        if (!$canonical_url || !Configuration::get('PS_CANONICAL_REDIRECT') || strtoupper($_SERVER['REQUEST_METHOD']) != 'GET') {
            return;
        }

        $canonical_url = preg_replace('/#.*$/', '', $canonical_url);

        $match_url = rawurldecode(Tools::getCurrentUrlProtocolPrefix() . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
        if (!preg_match('/^' . Tools::pRegexp(rawurldecode($canonical_url), '/') . '([&?].*)?$/', $match_url)) {
            $params = [];
            $url_details = parse_url($canonical_url);

            if (!empty($url_details['query'])) {
                parse_str($url_details['query'], $query);
                foreach ($query as $key => $value) {
                    $params[Tools::safeOutput($key)] = Tools::safeOutput($value);
                }
            }
            $excluded_key = ['isolang', 'id_lang', 'controller', 'fc', 'id_product', 'id_category', 'id_manufacturer', 'id_supplier', 'id_cms'];
            $excluded_key = array_merge($excluded_key, $this->redirectionExtraExcludedKeys);
            foreach ($_GET as $key => $value) {
                if (!in_array($key, $excluded_key) && Validate::isUrl($key) && Validate::isUrl($value)) {
                    $params[Tools::safeOutput($key)] = Tools::safeOutput($value);
                }
            }

            $str_params = http_build_query($params, '', '&');
            if (!empty($str_params)) {
                $final_url = preg_replace('/^([^?]*)?.*$/', '$1', $canonical_url) . '?' . $str_params;
            } else {
                $final_url = preg_replace('/^([^?]*)?.*$/', '$1', $canonical_url);
            }

            // Don't send any cookie
            Context::getContext()->cookie->disallowWriting();
            if (defined('_PS_MODE_DEV_') && _PS_MODE_DEV_ && $_SERVER['REQUEST_URI'] != __PS_BASE_URI__) {
                die('[Debug] This page has moved<br />Please use the following URL instead: <a href="' . $final_url . '">' . $final_url . '</a>');
            }

            $redirect_type = Configuration::get('PS_CANONICAL_REDIRECT') == 2 ? '301' : '302';
            header('HTTP/1.0 ' . $redirect_type . ' Moved');
            header('Cache-Control: no-cache');
            Tools::redirectLink($final_url);
        }
    }


funkcję kanonicznego przekierowania możemy wyłączyć w zapleczu sklepu.
w ustawieniach "seo & url" (preferencje > ruch / preferences > traffic) jest opcja: https://i.imgur.com/NENQ2Fk.png - możemy ją tam włączyć / wyłączyć.