Jump to content
  • 0

Załącznik (pdf) do pierwszej wiadomości dla kupującego presta 1.6


veciak11

Question

Witam serdecznie,

 

Używam PrestaShop w wersji 1.6.0.9

 

W związku z wprowadzenie 25 grudnia (2014) nowych zmian w prawie, klient najpóźniej w momencie złożonego zamówienia musi być poinformowany o różnych rzeczach. Firma prawnicza, która opiekuje się regulaminem zasugerowała, żeby wszystkie te informacje znalazły się w załączniku (format pdf).

 

Pytanie do Was:

Czy jest możliwość dołączenia do pierwszej wiadomości dla kupującego (z posumowaniem zakupu) załącznika (lub najlepiej 2-3) w formacie pdf? Jeżeli tak, to w jaki sposób to zrobić (plugin, modyfikacja jakiegoś pliku)?

Nie znalazłem podobnego tematu w wyszukiwarce, więc założyłem ten, jeżeli jednak już ktoś widział podobny wątek to proszę o odnośnik.

Link to comment
Share on other sites

57 answers to this question

Recommended Posts

  • 0

@veciak11 pokombinowałem trochę z tematem który dodałeś po edytowaniu postu, i wyszło mi coś takiego:

 

W głównym katalogu presty, a w nim w katalogu "classes" jest plik Mail.php.

 

Zedytowałem go w okolicach linijki 298, zaraz przed

/* Send mail */
$send = $swift->send($message, $to, new Swift_Address($from, $from_name));
$swift->disconnect();

dodałem

/* Attach a file to order confirmation mail */
if ($template == 'pl/order_conf') {
	$file = _PS_ROOT_DIR_ . '/pliki/regulamin_sklepu_erfarb.pdf';
	$message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Regulamin', 'application/pdf')); /* "Regulamin" jest nazwą załącznika, która będzie się wyświetlała u odbiorcy maila, można dowolnie zmienić, na przykład na "Regulamin sklepu" czy coś */
}

Gwoli jasności - wygląda to następująco:

/* Attach a file to order confirmation mail */
if ($template == 'pl/order_conf') {
	$file = _PS_ROOT_DIR_ . '/pliki/regulamin_sklepu_erfarb.pdf';
	$message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Regulamin', 'application/pdf')); /* "Regulamin" jest nazwą załącznika, która będzie się wyświetlała u odbiorcy maila, można dowolnie zmienić, na przykład na "Regulamin sklepu" czy coś */
}

/* Send mail */
$send = $swift->send($message, $to, new Swift_Address($from, $from_name));
$swift->disconnect();

Oczywiście w moim przypadku plik "regulamin.pdf" znajduje się w folderze "pliki" w głównym katalogu presty. Jeśli wrzucisz go bezpośrednio, to wiadomo - trzeba w obu miejscach usunąć "/pliki" z kodu.

 

Działać - działa, natomiast walczę jeszcze, ponieważ do pozostałych maili również dołącza mi ten plik, z tym, że waży on 0kB. Natomiast w mailu potwierdzającym wszystko jest cacy.

 

---

 

Post poprawiony, rozwiązanie w kodach jest poprawne, nie dodaje zerowych plików do innych maili. Dzięki @hatak

Edited by Matsu (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 0

Takich tematów ostatnio na pęczki :D

 

Co Ci tam każą wysyłać do klienta? Chcesz go zasypać pdf-ami? Generalnie to musisz dołączyć regulamin na trwałym nośniku, a precyzyjniej mówiąc musisz dołożyć tylko niektóre informacje z regulaminu do maila potwierdzającego zamówienie (więc lepiej dołączyć cały regulamin jak już wysyłać :) ).

 

Moduł gdzieś jest widziałem za 70 zł który to umożliwia, ewentualnie modyfikacja presty koszt znacznie mniejszy.

Link to comment
Share on other sites

  • 0

No własnie o to chodzi, więc zamiast tworzyć kilkustronicowy list potwierdzający zamówienie, chciałem załączyć regulamin + form. zwrotu itp. (w jednym pliku).

 

Ktoś podejmie się modyfikacji, lub odsprzeda moduł?

Znalazłem coś takiego: http://www.prestashop.com/forums/topic/323335-attach-terms-and-conditions-to-order-confirmation-mail/?do=findComment&comment=1897163
Tylko gdzie mam to wkleić dokładnie - według nich powinno śmigać. Nie znam się na programowaniu, dlatego nie mogę sam przetestować.

 

 

 

------EDIT------
http://www.prestashop.com/forums/topic/269548-help-attach-a-pdf-file-to-the-order-confirmation-email/ - tutaj jest gotowe rozwiązanie z edycją plików. Czy jest ktoś w stanie przełożyć to na język "polski". Co wkleić i gdzie wkleić.

Z góry dziękuję za pomoc.

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

  • 0

Ok, doszedłem do tego, że linijka

$message->attach(new Swift_Message_Attachment(file_get_contents($file), '/pliki/regulamin_sklepu_erfarb.pdf', 'application/pdf'));

określa po prostu nazwę załącznika, więc spokojnie w cudzysłowie wpisać można na przykład "Regulamin", i wtedy ładnie się będzie u klienta wyświetlało.

$message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Regulamin', 'application/pdf'));
Edited by Matsu (see edit history)
  • Like 2
Link to comment
Share on other sites

  • 0

matsu   zapomniales chyba o klamrach

    /* Attach a file to order confirmation mail */
    if ($template == 'pl/order_conf') {
    $file = _PS_ROOT_DIR_ . '/pliki/regulamin_sklepu_erfarb.pdf';
    $message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Regulamin', 'application/pdf'));
    }    
    /* Send mail */
    $send = $swift->send($message, $to, new Swift_Address($from, $from_name));
    $swift->disconnect();
  • Like 1
Link to comment
Share on other sites

  • 0

Witam serdecznie,

 

Używam PrestaShop w wersji 1.6.0.9

 

W związku z wprowadzenie 25 grudnia (2014) nowych zmian w prawie, klient najpóźniej w momencie złożonego zamówienia musi być poinformowany o różnych rzeczach. Firma prawnicza, która opiekuje się regulaminem zasugerowała, żeby wszystkie te informacje znalazły się w załączniku (format pdf).

 

Pytanie do Was:

Czy jest możliwość dołączenia do pierwszej wiadomości dla kupującego (z posumowaniem zakupu) załącznika (lub najlepiej 2-3) w formacie pdf? Jeżeli tak, to w jaki sposób to zrobić (plugin, modyfikacja jakiegoś pliku)?

 

Nie znalazłem podobnego tematu w wyszukiwarce, więc założyłem ten, jeżeli jednak już ktoś widział podobny wątek to proszę o odnośnik.

 

Najpóźniej w momencie złożenia zamówienia. Wiadomość dla kupującego po złożeniu zamówienia to jest już informacja po fakcie

 

Rafał

Link to comment
Share on other sites

  • 0

Jak dla mnie otrzymanie wiadomości potwierdzającej to jest właśnie "moment złożenia zamówienia". Weź pod uwagę sformułowanie "najpóźniej w momencie złożenia zamówienia" - a nie "moment przed złożeniem zamówienia".

 

Ale tak naprawdę możemy się przerzucać takimi przemyśleniami, bo ustawa jest tak napisana, że ilu ludzi - tyle interpretacji ;)

Link to comment
Share on other sites

  • 0

@rafcio76
 

Takie rozwiązanie doradziła mi firma Honeste, która opiekuje się nami pod względem prawny.

 

Zastanawiam się, w związku z tym co napisałeś - w jaki sposób mam poinformować klienta na "trwałym nośniku" jeżeli fizycznie, nie posiadam jeszcze jego danych a właściwie to posiadam, ale klient jeszcze nie potwierdził, że mogę się z nim komunikować? Sugerujesz automatyczną wiadomość zaraz po założeniu konta w sklepie internetowym, ale przed dokonaniem zakupu? Pamiętaj, że nie może to być jedynie odnośnik gdzieś na stronie do regulaminu lub pozostałych treści tylko informacja na nośniku trwałym (e-mail, list Sic!).

 

Z resztą, kto ma kantować klientów to żaden regulamin nie pomoże, a jeżeli każdy będzie się wywiązywał ze swoich obowiązków to też każdy będzie zadowolony - w tej chwili staram się zadowolić jedynie nasze Państwo a klienci są i chętnie do nas wracają ;)

Dziękuję jeszcze raz wszystkim za pomoc!

Link to comment
Share on other sites

  • 0

Powracam,

Po godzinnym konfigurowaniu e-maila na home.pl udało mi się zrobić tak, aby emaile w ogóle dochodziły.

Po wprowadzeniu kodu według powyższych instrukcji (wraz z klamerkami) dochodzi wiadomość z załącznikiem do 1go e-maila. Natomiast plik nie posiada żadnego rozszerzenia (tzn można go odtworzyć za pomocą programu do PDF, ale jest to "zwykly" plik).

 

Mój kod wygląda tak:

 

---------- EDIT ----------
Post do usunięcia - WSZYSTKO działa prawidło - problem pojawił się jedynie na wp.pl, gdzie załącznik pobierał się bez rozszerzenia, natomiast gmail, o2, home, hotmail działa poprawnie.

---------- EDIT ----------

			$message->attach(new Swift_Message_Attachment($attachment['content'], $attachment['name'], $attachment['mime']));
			}
 /* Attach a file to order confirmation mail */
    if ($template == 'pl/order_conf') {
    $file = _PS_ROOT_DIR_ . '/pliki/regulamin.pdf';
    $message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Regulamin', 'application/pdf'));
    }    
    /* Send mail */
    $send = $swift->send($message, $to, new Swift_Address($from, $from_name));
    $swift->disconnect();

			ShopUrl::resetMainDomainCache();			

			return $send;
		}
Edited by veciak11 (see edit history)
Link to comment
Share on other sites

  • 0

Witajcie. Zastanawia mnie fakt po co wogole bawicie sie w take rzeczy ? I pogratulowac firmie prawniczej trzezwego myslenia. Po to chyba macie regulaminy sklepow. A presta w domyslnym szablonie ma opcje w koszyku potwierdz zapoznanie sie z regulaminem. Czy jak zwal tak zwal. Klient nie dokonona zakupu przed i bez odptaszenia tej opcji. A skoro ja zaznacza to znaczy ze zapoznal sie z trescia obowiazujacego regulaminu ktory to musi byc zgododny z obecnie obowiazujacym prawem i tym samym akceptuje to. Wszystko w tym temacie. Chyba ze ktos lubi nadawac sobie roboty. 

Link to comment
Share on other sites

  • 0

 

Art. 14. 1. W przypadku umów zawieranych poza lokalem przedsiębiorstwa przedsiębiorca ma obowiązek udzielić

konsumentowi informacji, o których mowa w art. 12, utrwalonych na papierze lub, jeżeli konsument wyrazi na to zgodę, 
na innym trwałym nośniku, w sposób czytelny i wyrażonych prostym językiem. 

 

Problem w tym, że trwały nośnik to na przykład list (na papierze) lub e-mail. Oprócz tego, że to wszystko jest w regulaminie to klient musi być poinformowany na "nośniku trwałym".

 

 

 

trwały nośnik – materiał lub narzędzie umożliwiające konsumentowi lub przedsiębiorcy przechowywanie informacji 

kierowanych osobiście do niego, w sposób umożliwiający dostęp do informacji w przyszłości przez czas odpowiedni 
do celów, jakim te informacje służą, i które pozwalają na odtworzenie przechowywanych informacji 
w niezmienionej postaci;

 

Oznacza to, że gdy podamy odnośnik na stronie sklepu internetowego, to nie będzie to spełniało wymagań, bo taki regulamin mogę sobie zmienić kiedykolwiek, a po wysyłce e-maila klient przez cały czas będzie widział to samo (łopatologicznie).

 

A dla czego cały regulamin a nie wycinek? Jak wspomniał @Matsu - wtedy na pewno nikt nie będzie miał pretensji na temat niedoinformowania.

 

I tak - mi też się to nie podoba, bo jak już wspomniałem - kto ma klienta oszukać to i tak będzie oszukiwał...

Link to comment
Share on other sites

  • 0

Problem w tym, że trwały nośnik to na przykład list (na papierze) lub e-mail. Oprócz tego, że to wszystko jest w regulaminie to klient musi być poinformowany na "nośniku trwałym".

 

 

 

Oznacza to, że gdy podamy odnośnik na stronie sklepu internetowego, to nie będzie to spełniało wymagań, bo taki regulamin mogę sobie zmienić kiedykolwiek, a po wysyłce e-maila klient przez cały czas będzie widział to samo (łopatologicznie).

 

A dla czego cały regulamin a nie wycinek? Jak wspomniał @Matsu - wtedy na pewno nikt nie będzie miał pretensji na temat niedoinformowania.

 

I tak - mi też się to nie podoba, bo jak już wspomniałem - kto ma klienta oszukać to i tak będzie oszukiwał...

 

Wg mnie "umowa zawarta poza lokalem przedsiębiorstwa" nie dotyczy sklepów internetowych które nie mają swojej siedziby. Sklepów  internetowych dotyczą tylko zapisy mówiące o "umowie zawartej na odległość". Zachęcam do przeczytania definicji dot. znaczenia "poza lokalem przeds." który znajduje się na początku ustawy.

 

A tak przy okazji. Jak załączacie regulamin do maila potwierdzającego złożenie zamówienia - zgodnie z linkiem który się w tym poście gdzieś przewijał ?

 

Rafał

Link to comment
Share on other sites

  • 0

ehhh. Pierwsze i najwazniejsze. Nigdzie nie ma w polskim prawie ze sklep musi miec regulamin. Jak go usuniecie to tez bedzie wszystko OK. Kolejna rzecz. Trwaly nosnik. Poczytajcie tresc ustawy. Interpretacji mnustwo. Prosty przyklad dalej. Zrobcie PDFa ze swojego regulaminu. Zalaczcie go do regulaminu a przy wspomnianym przezemnie w poprzednim poscie odptaszaniu potwierdzenia dopiszcie np. Potwierdzam zapoznanie sie z regulaminem, jego pobranie w aktualnym brzmieniu i jakceptuje go. Dziekuje to wszystko....

Link to comment
Share on other sites

  • 0

Wielkie dzięki za rozwiązanie, my dodajemy 3 pliki:

/* Attach a file to order confirmation mail */
 if ($template == 'pl/order_conf') {
 $file = _PS_ROOT_DIR_ . '/pliki/regulamin_sklepu.pdf';
 $message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Regulamin.pdf', 'application/pdf')); 
 $file = _PS_ROOT_DIR_ . '/pliki/prawo_odstapienia_od_umowy.pdf';
 $message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Prawo odstapienia od umowy.pdf', 'application/pdf')); 
 $file = _PS_ROOT_DIR_ . '/pliki/wzor_formularza.pdf';
 $message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Wzór formularza.pdf', 'application/pdf')); 
 }	
Edited by mastek (see edit history)
Link to comment
Share on other sites

  • 0

 

Wielkie dzięki za rozwiązanie, my dodajemy 3 pliki:

/* Attach a file to order confirmation mail */
 if ($template == 'pl/order_conf') {
 $file = _PS_ROOT_DIR_ . '/pliki/regulamin_sklepu.pdf';
 $message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Regulamin.pdf', 'application/pdf')); 
 $file = _PS_ROOT_DIR_ . '/pliki/prawo_odstapienia_od_umowy.pdf';
 $message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Prawo odstapienia od umowy.pdf', 'application/pdf')); 
 $file = _PS_ROOT_DIR_ . '/pliki/wzor_formularza.pdf';
 $message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Wzór formularza.pdf', 'application/pdf')); 
 }	

widze pare niedogodnosci/bledow. przede wszystkim raczej nie powinno sie uzywac tak spacji jak i znakow szczegolnych (w tym polskie znaczki) w nazwach plikow. nazwy nie powinny przekraczac 32 znakow, najlepiej jakby mialy max 8. na niektorych sererach takie nazewnictwo jak powyzej moze nie przejsc i bedzie sypalo bledami. 

 

 

druga rzecz. dysponuje autorskim modulem do rozwiazania tej kwestii. pliki PDF budowane sa bezposrednio z zamieszczeonego regulaminu czy innych stron CMS oraz dodatkowo modul daje mozliwosc dolaczenia osobnych plikow, ktore wysylane za razem z order_conf. pelna wspolpraca z PS 1.5 i 1.6 oraz multistore.

 

blizsze info na http://4vip.pl/works/dodaj-pliki-do-wiadomosci-email-jako-trwaly-nosnik/

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

  • 0

Szanowni, w moim przypadku w presta 1.6.0.11 takie rozwiązanie nie działa. Czy ma ktoś podobny przypadek?

 

Przepraszam udało się może znaleźć jakąś radę na problem  nie działania opisanego w tym wątku rozwiązania? Mi w presta 1.6.0.14 również nie chce ono hulać. Ewentualnie mogę po prostu wkleić do meila potwierdzającego zamówienie całą potrzebną informajcę lub kupić moduł rozwiązujący problem, wolałbym jednak rozwiązanie opisane w tym wątku.

 

Potrafi więc ktoś pomóc, zasugerować co może być nie tak jeśli załącznik się nie wysyła? Próbowałem plik załącznika umieścić zarówno jak w opisywanym tu przykładzie w oddzielnie dla niego stworzonym katalogu 'pliki' jak również bezpośredio w folderze classes (usuwając w takiej sytaucji w kodu fragment '/pliki/').

 

Link to comment
Share on other sites

  • 0

ehhh. Pierwsze i najwazniejsze. Nigdzie nie ma w polskim prawie ze sklep musi miec regulamin. Jak go usuniecie to tez bedzie wszystko OK. Kolejna rzecz. Trwaly nosnik. Poczytajcie tresc ustawy. Interpretacji mnustwo. Prosty przyklad dalej. Zrobcie PDFa ze swojego regulaminu. Zalaczcie go do regulaminu a przy wspomnianym przezemnie w poprzednim poscie odptaszaniu potwierdzenia dopiszcie np. Potwierdzam zapoznanie sie z regulaminem, jego pobranie w aktualnym brzmieniu i jakceptuje go. Dziekuje to wszystko....

 

Wydaje mi się, że nie masz racji i bardzo uprościłeś sprawę. W ustawie jest napisane, że "Ty" masz obowiązek dostarczyć kupującemu regulamin, a nie, że masz mu go udostępnić i on ma obowiązek go pobrać. Brak regulaminu naraża sprzedawcę na zwiększenie uprawnień kupującego, które nie zawsze mu się należą (np. wydłużony termin na reklamację itp.). Dlatego Twoje rozwiązanie nie jest prawidłowe. To, co w życiu wydaje nam się logiczne i oczywiste w prawie już takim nie jest, a to ono nas obowiązuje.

Link to comment
Share on other sites

  • 0

Dokładnie, po co sobie stwarzac problemy? Jak te pdfy będą szły w mailach to dużo transferu się nie straci, a będzie można spać spokojnie. Problem tylko w tym, że opisane wyżej sposoby nie działają w najnowszych wersjach Prestashop... :(

Link to comment
Share on other sites

  • 0

Z całą pewnością w świetle obecnie obowiązujących przepisów, przynajmniej do póki nie pojawią się nowe interpretacje ustaw wydane przez sądy, sprzedawca ma obowiązek dostarczyć kupującemu na trwałym nośniku nie tyle sam regulamin co opis praw konsumenta do zwrotu zakupionych towarów i formularz odstąpienia. Z tego powodu opisane na początku tego wątku rozwiązanie jest ciekawe i byłoby miło gdyby działało.

Jeśli nie działa mam kilka pomysłów jak rozwiązać problem o ile nie dysponuje ktoś umiejętnością samodzielnego modyfikowania presty:

1. Kupić moduł do wysyłki regulaminu, cena od 49 zł z tego co patrzyłem.

2. Samodzielnie każdorazowo wysyłać potrzebne dokumenty do klienta, trzeba by jednak wyłączyć automatyczną wysyłkę potwierdzenia zakupu, bo informacje klient powinien dostać najpóźniej w momencie kiedy otrzyma potwierdzenie dokonania zakupu.

3. W pliku tłumaczeń maila potwierdzającego dodać cała potrzebną informację w jego treści (moim zdaniem takie rozwiązanie spełnia wymóg trwałego nośnika i jest najprostsze)

4. Nie wiem, może istnieje możliwość wykorzystania do dostarczenia klientowi potrzebnych dokumentów opcji "artykuł wirtualny", może da się taki artykuł skonfigurować w ten sposób, żeby każdy klient dostawał go z automatu w gratisie razem ze swoim zamówieniem dowolnego innego produktu. Tym wirtualnym artykułem byłby oczywiście informacje, o których mowa w tym wątku. Z tym, że takie rozwiązanie nie wiem czy jest możliwe i na ile proste, albo jak bardzo skomplikowane. Tak mi przyszło tylko do głowy i nawet nie próbowałem go wprowadzić w życie.

 

Ktoś ma jakieś sugestie na temat tych rozwiązań?

 

Pozdrawiam

Link to comment
Share on other sites

  • 0

Wg mnie nie można. Ustawa mówi:

 

Art. 21. 1. Przedsiębiorca ma obowiązek przekazać konsumentowi potwierdzenie zawarcia umowy na odległość na trwałym nośniku w rozsądnym czasie po jej zawarciu, najpóźniej w chwili dostarczenia rzeczy lub przed rozpoczęciem świadczenia usługi.

 

a definicja mówi:

 

4) trwały nośnik – materiał lub narzędzie umożliwiające konsumentowi lub przedsiębiorcy przechowywanie informacji kierowanych osobiście do niego, w sposób umożliwiający dostęp do informacji w przyszłości przez czas odpowiedni do celów, jakim te informacje służą, i które pozwalają na odtworzenie przechowywanych informacji w niezmienionej postaci;

 

a "dostęp do informacji w przyszłości" oznacza to, że musi to mieć np w pliku a nie linka, bo zmienisz w sklepie nazwę pliku po roku i klient już nie ma dostępu lub ma dostęp ale w zmienionej postaci bo się regulamin w międzyczasie może zmienić.

 

pozdr

 

Rafał

Link to comment
Share on other sites

  • 0

Potwierdzam zdanie Rafcia - konsultowałem to też z prawnikiem. Na tą chwilę wchodzi jedynie w grę załącznik w PDF lub innym formacie, przekopiowanie (w moim przypadku bardzo długiej) treści do e-maila potwierdzającego lub kuriozum wysyłka Poleconym z potwierdzeniem odbioru przed realizacją zamówienia w formie fizycznej :)

My decydujemy się jednak na zakup pluginu do Presty, ze względu właśnie na stabilność podczas aktualizacji - mieliśmy kilka problemów po edycji plików. Plugin będzie działał cały czas lub będzie uaktualniany a będziemy mieć pewność, że na przykład w trakcie gwiazdki po jakiejś aktualizacji sklep się nie wysypie.

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

  • 0

Dokładnie, po co sobie stwarzac problemy? Jak te pdfy będą szły w mailach to dużo transferu się nie straci, a będzie można spać spokojnie. Problem tylko w tym, że opisane wyżej sposoby nie działają w najnowszych wersjach Prestashop... :(

 

jak najbardziej dziala i z najnowszymi 1.6 jak i multistore/multilangiage:

 

dysponuje autorskim modulem do rozwiazania tej kwestii. pliki PDF budowane sa bezposrednio z zamieszczeonego regulaminu czy innych stron CMS oraz dodatkowo modul daje mozliwosc dolaczenia osobnych plikow, ktore wysylane za razem z order_conf. pelna wspolpraca z PS 1.5 i 1.6 oraz multistore.

 

blizsze info na http://4vip.pl/works...-trwaly-nosnik/

Link to comment
Share on other sites

  • 0

W nowszej wersji Prestashop, żeby skrypt działał mależy usunąć "pl" tam gdzie porównujemy "template". Całość będzie wyglądać w ten sposób:

    /* Attach a file to order confirmation mail */
    if ($template == 'order_conf') {
    	$file = _PS_ROOT_DIR_ . '/pliki/regulamin.pdf';
    	$message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Regulamin', 'application/pdf'));
     
    /* Send mail */
    $send = $swift->send($message, $to, new Swift_Address($from, $from_name));
    $swift->disconnect();
Link to comment
Share on other sites

  • 0

W nowszej wersji Prestashop, żeby skrypt działał mależy usunąć "pl" tam gdzie porównujemy "template". Całość będzie wyglądać w ten sposób:

W najnowszej wersji jest już to zaimplementowane w module advancedeucompiliance który generuje pdf na podstawie dowolnej strony cms więc powyższe rozwiązanie jest tylko dokładaniem sobie zbędnej pracy.

Link to comment
Share on other sites

  • 0

W 1.6.1.5 trzeba zmienić Swift_Message_Attachment na Swift_Attachment, inaczej się wywala.

 

A więc, dla 1.6.1.5:

/* Attach a file to order confirmation mail */
    if ($template == 'order_conf') {
    	$file = _PS_ROOT_DIR_ . '/pliki/regulamin.pdf';
    	$message->attach(new Swift_Attachment(file_get_contents($file), 'Regulamin', 'application/pdf'));
     
    /* Send mail */
    $send = $swift->send($message, $to, new Swift_Address($from, $from_name));
    $swift->disconnect();
Edited by koyocik (see edit history)
Link to comment
Share on other sites

  • 0

Rozwiązanie może i dobre tylko po co? Przecież moduł advancedeucompliance zrobi to za nas sprawniej, szybciej i z strony cms a nie pliku, ale o tym już pisałem kilka odpowiedzi wyżej :)

 

Tak, ale dajmy ludziom możliwość wyboru ;) Poza tym często PDF jest "gotowcem" a cms trzeba ładnie stworzyć, ostylować itd. 

Link to comment
Share on other sites

  • 0

Tak, ale dajmy ludziom możliwość wyboru ;) Poza tym często PDF jest "gotowcem" a cms trzeba ładnie stworzyć, ostylować itd. 

 

Dodatkowo coraz częściej się spotykam z skryptami generującymi regulaminy z innych stron i co wtedy z takim modułem.

Też na tej podstawie wygeneruje pdf-a?

Link to comment
Share on other sites

  • 0

Trochę nie rozumiem o co Ci chodzi. Nikt tu nie twierdzi, że advancedeucompliance jest złym modułem. Ale może ktoś po prostu będzie chciał coś jednak załączyć do maila. I ma rozwiązanie. Dlaczego nie ulatwić, skoro jest taka możliwość?

 

Poza tym, współpracowałeś kiedyś przy tworzeniu sklepu z kancelarią prawną? Przysłali Ci formularz zwrotu albo regulamin w htmlu? Mnie nigdy. A pdf niejednokrotnie. 

Link to comment
Share on other sites

  • 0

Poza tym, współpracowałeś kiedyś przy tworzeniu sklepu z kancelarią prawną? Przysłali Ci formularz zwrotu albo regulamin w htmlu? Mnie nigdy. A pdf niejednokrotnie. 

 

albo tak jak mi, wysłali skrypt - i sami ten regulamin poprawiają u siebie, a zmiany pojawiają się w sklepie.

Link to comment
Share on other sites

  • 0

Widzę że nie rozumiesz i już postaram ci sie wyjaśnić, a więc ktoś wchodząc w ten wątek niekoniecznie będzie czytał całość, bardzo prawdopodobne jest to że przeczyta pierwsze i ostatnie posty, więc pominie fakt że może to zrobić łatwiej, prościej, szybciej i bez edycji kodu i wgrywania pliku pdf na serwer za kazdym razem gdy nastąpi zmiana w regulaminie. To że kancelaria wysyła pliki w pdf ma na celu fakt że treści takiego dokumentu nie możesz zmienić, więc nie zarzucisz im że to oni ci coś źle napisali w pliku regulaminu.

Link to comment
Share on other sites

  • 0

Dziekuję za wyjaśnienie. Dalsza dyskusja nie ma sensu, bo chyba mówimy o zupełnie innych rzeczach. Wątek brzmi "Załącznik (pdf) do pierwszej wiadomości dla kupującego presta 1.6". Jednym wygodniej wrzucić dwa pliki na ftp i dodać proste dwie linijki kodu do override, innym wygodniej instalować i konfigurować moduły.

 

Miłego dnia życzę.

Link to comment
Share on other sites

  • 0

Jako założyciel tego tematu dodam jeszcze, że w tamtym momencie nie było bezpłatnych skryptów, które by to robiły, dopiero zaraz później powstawały kolejne kopie a z biegiem czasu moduły wspominane wyżej. Nie mniej jednak temat może się przydać bo w ten sposób nie tylko pdf można załączyć ale także inne pliki co sprawia, że ten sposób w niektórych przypadkach może być jedynym rozwiązaniem.

Więcej luzu, miłego :)

Link to comment
Share on other sites

  • 0

Witam.

mam preste 1.6.1.7 i sposób opisany wyżej nie działa (choć na poprzednich wersjach było ok) czy może ktoś potrafi poprawić kod modyfikacji tak aby działał na preście 1.6.1.7

Pozdrawiam

 

Przepraszam ale nie zauważyłem wcześniejszych postów kuter w 100% odpowiadają na moje pytanie.

Pozdrawiam i życzę miłego dnia

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

  • 0

W najnowszej wersji jest już to zaimplementowane w module advancedeucompiliance który generuje pdf na podstawie dowolnej strony cms więc powyższe rozwiązanie jest tylko dokładaniem sobie zbędnej pracy.

Dzień dobry, mam preste 1.6.1.11, zainstalowałam ten moduł "Zaawansowana zgodność prawna w UE v2.0.2 - przez PrestaShop" i po włączeniu w nim opcji: Włącz "Zaawansowaną stronę zamówień" niestety nie współpracuje on u mnie z płatnościami innymi niż zwykły przelew bankowy. W podsumowaniu zamówienia nie jest dostępna żdana inna forma tylko przelew zwykły.

Mam zainstalowany i skonfigurowany DotPay który nie jestdostępny po włącznieniu tego modułu i opcji zaawansowanej strony zamówień.

Link to comment
Share on other sites

  • 0

Nie musisz włączać w tym module żadnych dodatkowych opcji oprócz tego co potrzebujesz, zakupy na jednej stronie w ogóle nie sa potrzebne do tego aby załączać dodatkowe treści do szablonów email.

Rzeczywiście, bo przecież zmiana napisu na buttonie przez PA sie robi. Z tym też mi pomogłeś, Dzięki wielkie :))

Link to comment
Share on other sites

  • 0

Polecam gotowy moduł:

Załączniki do wiadomości email Pro dla PrestaShop 1.5.x oraz 1.6.x

Moduł umożliwia dodanie dowolnej liczby załączników do wiadomości email wysyłanych do klienta np. do potwierdzenia zamówienia lub do rejestracji konta itp., moduł obsługuje załączniki PDF jako wgrane pliki lub pdf jest generowany na podstawie wybranej strony CMS, załączniki można definiować dla języka, sklepu, oraz jednego z 12 predefiniowanych szablonów email jakie znajdują się w standardowym sklepie Prestashop. Moduł pozwala na dostosowanie sklepu do nowych wymogów prawnych (w mailu potwierdzającym zamówienie powinny się znaleźć załączniki tj. regulamin sklepu, wzór odstąpienia od umowy).

 

 

https://prestadev.pl/pl/125-zalaczniki-pdf-do-wiadomosci-email-pro.html

Link to comment
Share on other sites

  • 0

Czy ktoś zna rozwiązanie załączenia pliku do potwierdzenia zamówienia dla wersji 1.7.4.3?

Dodanie kodu w classes/Mail.php przed /* Send mail */ nic nie zmienia. 

    /* Attach a file to order confirmation mail */
    if ($template == 'pl/order_conf') {
    $file = _PS_ROOT_DIR_ . '/pliki/1.pdf';
    $message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Regulamin', 'application/pdf'));
    }    
            /* Send mail */
            $message->setFrom(array($from => $fromName));
            $send = $swift->send($message);

 

Link to comment
Share on other sites

  • 0
On 3/1/2016 at 9:46 PM, bandi7 said:

W nowszej wersji Prestashop, żeby skrypt działał mależy usunąć "pl" tam gdzie porównujemy "template". Całość będzie wyglądać w ten sposób:


    /* Attach a file to order confirmation mail */
    if ($template == 'order_conf') {
    	$file = _PS_ROOT_DIR_ . '/pliki/regulamin.pdf';
    	$message->attach(new Swift_Message_Attachment(file_get_contents($file), 'Regulamin', 'application/pdf'));
     
    /* Send mail */
    $send = $swift->send($message, $to, new Swift_Address($from, $from_name));
    $swift->disconnect();

Bez "pl" działa na 1.6.1.4

Dzięki bandi7 !!

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...