wdrożenia PrestaShop

Status wysyła emaile pomimo ze ma nie wysyłać

  • 14 Odpowiedzi
  • 3160 Wyświetleń

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

*

Offline donvito

  • www.4GLte.eu
  • Stały użytkownik
  • ***
  • 87
  • 0
  • PrestaShop: 1.5.4
  • Status: forum
Status wysyła emaile pomimo ze ma nie wysyłać
« dnia: Lipiec 20, 2014, 03:26:27 pm »
Stworzylem nowy status wysylki, gdzie specjalnie nie jest zaznaczone wysylanie emaila. Pomimo tego po zmianie statusu email jest wysylany.


Moze macie jakis pomysl? Moze to recznie w bazie jakos zmienic?



www.4GLte.eu - 4G USB Modems | 3G Modem Routers | 4G LTE CPE Routers | 4G LTE Broadband

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #1 dnia: Lipiec 20, 2014, 05:08:16 pm »
wysylanie maila z automatu przy wysylkach a zmiana statusu to calkiem odrebne rzeczy. maile ze statusu sa pibierane z calekim inengo kontrolera jak te wysylane podczas robienia zakupow.

tutaj sa dwie drogi, albo zrobienie osobnych statusow dla danego sposobu platosci (te maile sa wysylane przez moduly platnosci) z wylaczonym wysylaniem maila lub wylaczenie dla danego stusu calkowicie wysylki maila. ewentualnie przebudowa kontrolera statusu z warunkami {if} - to dla bardziej zaawansowanych
design4VIP z innej strony...

*

Offline donvito

  • www.4GLte.eu
  • Stały użytkownik
  • ***
  • 87
  • 0
  • PrestaShop: 1.5.4
  • Status: forum
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #2 dnia: Lipiec 21, 2014, 04:27:48 am »
no ja mam wlasnie calkowite wyłaczenie wysylania emaila dla statusu a jednak wysyla.





Pomimo tego ciagle wysyla potwierdzenia.
www.4GLte.eu - 4G USB Modems | 3G Modem Routers | 4G LTE CPE Routers | 4G LTE Broadband

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #3 dnia: Lipiec 21, 2014, 09:05:33 am »
a jakiego maila wysyla (o jakiej tresci lub ktory plik) i w jakim dokladnie momencie: w momencie skladania zamowienia czy recznym przestawieniu statusu?
design4VIP z innej strony...

*

Offline donvito

  • www.4GLte.eu
  • Stały użytkownik
  • ***
  • 87
  • 0
  • PrestaShop: 1.5.4
  • Status: forum
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #4 dnia: Lipiec 21, 2014, 11:51:51 am »
W momencie przestawienia statusu.


Email tresci:


Hi XXXXXXXXXX,Your order with the reference WCCNXXXXX - In transit

Your order with the reference WCCNXXXXXX is currently in transit..

You can track your package using the following link: http://www.royalmail.co.uk
You can review your order and download your invoice from the "Order history" section of your customer account by clicking "My account" on our shop.

If you have a guest account, you can follow your order via the "Guest Tracking" section on our shop.
--------------------------------------------------------


www.4GLte.eu - 4G USB Modems | 3G Modem Routers | 4G LTE CPE Routers | 4G LTE Broadband

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #5 dnia: Lipiec 21, 2014, 01:25:39 pm »
wylacz sledzenie wysylki, "in_transit.html" wysylany jest w momencie dania mozliwosci klientom monitorowania wysylek
design4VIP z innej strony...

*

Offline donvito

  • www.4GLte.eu
  • Stały użytkownik
  • ***
  • 87
  • 0
  • PrestaShop: 1.5.4
  • Status: forum
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #6 dnia: Lipiec 21, 2014, 01:50:13 pm »
ok tylko gdzie to? ;-(
www.4GLte.eu - 4G USB Modems | 3G Modem Routers | 4G LTE CPE Routers | 4G LTE Broadband

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #7 dnia: Lipiec 21, 2014, 04:29:36 pm »
ok, nie ten system, rzeczywiscie w PS nie da sie wylaczyc tego maila z panelu (ale moge sie mylic) :D pomylilem systemy, za duzo na glowie i za szybko chcialem udzielic odpowiedzi ;/

in transit wysylany jest w momencie zmiany nr sledzenia w panelu zamowienia (tabelka Przesylka). jezeli to pole jest wypelnione wysylany jest ten mail. tak samo przy kazdej probie zmiany tego pola.

co mi przychodzi do glowy to usuniecie wpisu do wysylki tego maila z kontrolera... AdminOrdersControler.php ok lini 300 albo prosciej, wywal z ./mails/lang/in_transit.html oraz .txt wtedy nie wysle, bo nei bedzie mial co ;) ale poprawniejsza wersja jest zmiana kontrolera
design4VIP z innej strony...

*

Offline donvito

  • www.4GLte.eu
  • Stały użytkownik
  • ***
  • 87
  • 0
  • PrestaShop: 1.5.4
  • Status: forum
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #8 dnia: Lipiec 21, 2014, 07:34:43 pm »
nie no ale czekaj.


Generalnie to mi pasuje ze ten email sie wysyla po zmianie statusu. Chodzi tu o modul integracji z Amazon gdzie specjalnie tworzy sie nowy status aby mu wlasnie ohaczyć wysyłanie emaili po wyslaniu przesylki.


Jest to nie zgodna z polityka Amazon bo w emailu sa linki zewnetrzne.


Wydaje mi sie ze raczej nie dziala ten checkbox i moze wystarczylo by to recznie zmienic gdzies w bazie?



www.4GLte.eu - 4G USB Modems | 3G Modem Routers | 4G LTE CPE Routers | 4G LTE Broadband

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #9 dnia: Lipiec 21, 2014, 07:42:41 pm »
pytasz = odpowiadam.... teraz to juz pomalu powstaje filozofia zin... jak pisalem wczesniej, ten mail nie jest powiazany ze statusami (wiec odhaczenie nic tu nie da) tylko z nr sledzenia wysylki. zobacz we wspomniany kontroler gdzie i przy jakich spelnionych paramterach nastepuje wysylka maila. ewidentnie masz if-a dla: {kiedy nr sledzenia isnieje lub zostal zmieniony oraz jest zamowienie}. czyli nic to nie ma zwiazku ze statusami. wiec albo albo... albo nie uzywasz nr wusulki albo nie uzywasz ogolnie maila i go usuwasz. wewentualnie mozesz w kontrolerze obadac ID utworzonego statusu i dodac do powyzszego if-a kolejna zaleznosc {jezlei nie status o ID...}
design4VIP z innej strony...

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #10 dnia: Lipiec 21, 2014, 08:06:17 pm »
classes/order/order-payment.php
classes/order/order-history.php


tam masz exec::hook..... który wykonuje wysyłke mailii itd
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline donvito

  • www.4GLte.eu
  • Stały użytkownik
  • ***
  • 87
  • 0
  • PrestaShop: 1.5.4
  • Status: forum
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #11 dnia: Lipiec 21, 2014, 09:58:35 pm »
@deejay3


Caly czas mam wrazenie ze sie nie rozumiemy;-(
Ja nie ma nic wspolnego ze Statusem skoro jest tam opcja zaznaczenie lub odznaczenie.
Mam ustawione NIE wysylaj a wysyla. Wiec jak ustawie WYSYŁAJ co tez bedzie wysylal. Wiec po co ta opcja wyboru???

Wg instrukcji modulu Nowy Status (zmienia status na amazonie i przepisuje tracking number) opcja Send email ma być odznaczona i u mnie jest a emaile sa dalej wysylane. Wyglada mi to na jakis bład presaty a nie modułu.


@West
Co masz na mysli? Co mialbym tu zrobic?
classes/order/order-payment.php
classes/order/order-history.php
tam masz exec::hook..... który wykonuje wysyłke mailii itd





www.4GLte.eu - 4G USB Modems | 3G Modem Routers | 4G LTE CPE Routers | 4G LTE Broadband

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #12 dnia: Lipiec 22, 2014, 09:35:00 am »
Caly czas mam wrazenie ze sie nie rozumiemy;-(
Ja nie ma nic wspolnego ze Statusem skoro jest tam opcja zaznaczenie lub odznaczenie.
Mam ustawione NIE wysylaj a wysyla. Wiec jak ustawie WYSYŁAJ co tez bedzie wysylal. Wiec po co ta opcja wyboru???
no i takie wlasnie mam wrazenie, sie nie rozumiemy, oznaczenie wysylania maila czy nie wysylanie dziala jak najbardziej poprawnie. tylko to nie ten mail! tutaj mozesz sobie wybrac jakiego maiala ma do klienta wysylac. a jezlei chodzi o in_transit ten jest wybrany odgornie i ZAWSZE JAK JEST NR SLEDZENIA TO ZOSTANIE ON WYSLANY. mozesz sobie teraz w danym statusie zaznaczyc, zeby wysylal maila do klienta i wybrac np. order_conf, czyli beda wysylane dwa maile, ten wybrany i ten odgorny.

wracajac do poprzednich postow, teraz masz dwa wyjscia: albo zmodyfikowac wg wczesniejszych wytycznych kontroler i przypisac dodatkowe zaleznosci {if} dla danego ID statusu albo calkowicie zrezygnowac i wyrzucic z kontrolera wysylke tego maila calkowicie dla wszystkich statusow.

PS. @west, niestety in_transit nie idzie przez hook tylko bezposrednio z kontrolera admina zamowien przy edycji nr sledzenia, wiec jak Amazon uzupelnia to pole z automatu to automatycznie jest tez wysylana wiadomosc. 
public function postProcess()
{
......
......

if (Tools::isSubmit('submitShippingNumber') && isset($order))
{
if ($this->tabAccess['edit'] === '1')
{

.....
.....

if (@Mail::Send((int)$order->id_lang, 'in_transit', Mail::l('Package in transit', (int)$order->id_lang), $templateVars,
$customer->email, $customer->firstname.' '.$customer->lastname, null, null, null, null,
_PS_MAIL_DIR_, true, (int)$order->id_shop))
{
Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order));
Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token);
}
......
......
}
}
}
design4VIP z innej strony...

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #13 dnia: Lipiec 22, 2014, 09:16:00 pm »
Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order));
czyli w module amazona musi być odwołanie do tego hooka wystarczy zahashowac [trudne słowo]
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: Status wysyła emaile pomimo ze ma nie wysyłać
« Odpowiedź #14 dnia: Lipiec 23, 2014, 08:47:59 am »
Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order));czyli w module amazona musi być odwołanie do tego hooka wystarczy zahashowac [trudne słowo]

* hashowanie == oznaczenie czesci kodu jako niewodoczny zprzez uzycie znacznikow {* ..czesc kodu .. *} [dla wytlumaczenia trudnego slowa] ;)

ale do rzeczy.  hook actionAdminOrdersTrackingNumberUpdate wywolywany (wg powyzszego kodu) jest dopiero w momencie wysylki maila if(mail) {hook} , czyli najpierw mail a pozniej hook. ewidentnie calosc wywolywana jest w postProcess() wiec tutaj nie ma hooka... no tak na prosty rozum.
raczej widzialbym to w druga storne. tutaj w kontrolerze calosc zahashowac, jednak... jedno ale... bo jak wywalimy calosc to nie bedzie mozliwosci zmiany nr wysylki, zostanie zawsze ta przypisana przez amazon... samo hashowanie nie starczy, trzeba by przekombinowac tak, zeby pozbyc sie IFa dla wysylki maila i zostawic samo wywolanie hooka.
design4VIP z innej strony...