RogerThat Posted December 30, 2013 Share Posted December 30, 2013 1.5.4 Hej Czy istnieje możliwość powiadomienia na mojego maila że klient się zalogował (założył konto). Niektórzy zakładają konta tyle - nie przechodzą do zakupów. O takich osobach chciałbym wiedzieć Pozdrawiam Link to comment Share on other sites More sharing options...
0 vekia Posted December 31, 2013 Share Posted December 31, 2013 wszystko jest możliwe, jednak trzeba tutaj określić co dokładnie potrzebujesz. napisałeś "klient sie zalogował (założył konto)" jak dla mnie, założenie konta i zalogowanie się to dwie różne czynności chodzi o zwykły mail z informacją o tym, że ktoś się loguje ? założył konto? Link to comment Share on other sites More sharing options...
0 RogerThat Posted December 31, 2013 Author Share Posted December 31, 2013 chodzi mi o powiadomienie mnie na maila w momencie gdy klient naciśnie wskazany buton. Przy pierwszym logowaniu. Link to comment Share on other sites More sharing options...
0 vekia Posted December 31, 2013 Share Posted December 31, 2013 ok, czyli chodzi o rejestrację klienta wystarczy że w klasie: classes/Customer.php do funkcji: public function add($autodate = true, $null_values = true) { $this->id_shop = ($this->id_shop) ? $this->id_shop : Context::getContext()->shop->id; $this->id_shop_group = ($this->id_shop_group) ? $this->id_shop_group : Context::getContext()->shop->id_shop_group; $this->id_lang = ($this->id_lang) ? $this->id_lang : Context::getContext()->language->id; $this->birthday = (empty($this->years) ? $this->birthday : (int)$this->years.'-'.(int)$this->months.'-'.(int)$this->days); $this->secure_key = md5(uniqid(rand(), true)); $this->last_passwd_gen = date('Y-m-d H:i:s', strtotime('-'.Configuration::get('PS_PASSWD_TIME_FRONT').'minutes')); if ($this->newsletter && !Validate::isDate($this->newsletter_date_add)) $this->newsletter_date_add = date('Y-m-d H:i:s'); if ($this->id_default_group == Configuration::get('PS_CUSTOMER_GROUP')) if ($this->is_guest) $this->id_default_group = (int)Configuration::get('PS_GUEST_GROUP'); else $this->id_default_group = (int)Configuration::get('PS_CUSTOMER_GROUP'); /* Can't create a guest customer, if this feature is disabled */ if ($this->is_guest && !Configuration::get('PS_GUEST_CHECKOUT_ENABLED')) return false; $success = parent::add($autodate, $null_values); $this->updateGroup($this->groupBox); return $success; } dodasz funkcję mail() wysyłającą maila na Twój adres. Możesz w niej umieścić wszystko, mail, date utworzenia itp. Odtąd po kazdorazowym dodaniu (rejestracji) klienta, otrzymasz na skrzynkę maila Link to comment Share on other sites More sharing options...
0 RogerThat Posted December 31, 2013 Author Share Posted December 31, 2013 ok. ale nie do końca rozumiem co mam zrobić. Na końcu tego kodu mam wpisać "mail()" ?, czy w nawiasie mam dać swojego maila "mail([email protected])"? Gdy dodawałem tak maila to nie odpalała mi się strona. Mógłbyś pokazać mi gdzie to dodać? dzięki Link to comment Share on other sites More sharing options...
0 vekia Posted December 31, 2013 Share Posted December 31, 2013 w sumie to przemyślałem to raz jeszcze, lepiej chyba będzie zmodyfikować kontroller: AuthController.php /controllers/front/authController.php jest tam funkcja: protected function sendConfirmationMail(Customer $customer) { if (!Configuration::get('PS_CUSTOMER_CREATION_EMAIL')) return true; return Mail::Send( $this->context->language->id, 'account', Mail::l('Welcome!'), array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname ); } zmodyfikuj ją tak: protected function sendConfirmationMail(Customer $customer) { if (!Configuration::get('PS_CUSTOMER_CREATION_EMAIL')) return true; Mail::Send( $this->context->language->id, 'account', Mail::l('Welcome!'), array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), "[email protected]", $customer->firstname.' '.$customer->lastname ); return Mail::Send( $this->context->language->id, 'account', Mail::l('Welcome!'), array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname ); } [email protected] - zastąp to swoim mailem. w efekcie dostaniesz na skrzynkę maila z potwierdzeniem rejestracji klienta (taką samą jaką otrzymuje klient) Link to comment Share on other sites More sharing options...
0 RogerThat Posted December 31, 2013 Author Share Posted December 31, 2013 (edited) hmm.... Obawiam się że nie działa to za bardzo. Zakładam nowe konta i nic nie przychodzi mi na maila co więcej, na tym etapie (czyli przed wpisaniem danych typu firma, ulica, NIP ...) klient również nie otrzymuje maila. Maile do klienta w moim przypadku to tylko przychodzą 2 po zamówieniu. Są to: - Podsumowanie zamówienia - Oczekiwanie na płatność Nie przychodzi mail z potwierdzeniem rejestracji do klienta (napisałeś, że on to dostaje, więc może mam coś nie tak, gdyż z oimi ustawieniami nic nie otrzymuje) Idealne dla mnie byłoby gdybym dostawał maila na etapie zaraz po wciśnięciu przycisku "Zarejestruj się" czyli zaraz po rejestracji a przed podaniem danych adresowych. Edited December 31, 2013 by RogerThat (see edit history) Link to comment Share on other sites More sharing options...
0 vekia Posted December 31, 2013 Share Posted December 31, 2013 no to coś musi być nie tak z wysyłką maili, skoro nie dochodzą klient powinien dostać maila, że założył sobie konto, ten sam mail powinien być przesłany również do ciebie (po wprowadzeniu modyfikacji) Link to comment Share on other sites More sharing options...
0 RogerThat Posted January 1, 2014 Author Share Posted January 1, 2014 ok. no to mam problem gdyż do klienta nie przychodzi taki mail. Można to gdzieś ustawić by przychodził? Może cos usunąłem... Link to comment Share on other sites More sharing options...
0 vekia Posted January 1, 2014 Share Posted January 1, 2014 preferences > customers jest tam taka opcja: jest zaznaczona? Link to comment Share on other sites More sharing options...
0 RogerThat Posted January 1, 2014 Author Share Posted January 1, 2014 mam prestashop 1.5.4. Obawiam się że nie mam tego pola w ogóle. Link to comment Share on other sites More sharing options...
0 RogerThat Posted January 3, 2014 Author Share Posted January 3, 2014 Może to pomoze może to być problem związany z kopiowaniem sklepu.Miałem sklep prestashop X na serwerze. Skopiowałem ten sklep na inną domenę na tym samym serwerze, i stworzyłem sklep Y, przerzuciłem baze danych i sklep, pozmieniałem wyglad maile, loga...Wszystko działa poprawnie. W tym oryginalnym sklepie X przychodzi mail zwiazany z logowaniem a w tym Y niestety nie. Tu link do dyskusji o kopiowaniu sklepu http://www.prestashop.com/forums/topic/295275-dwa-sklepy-r%C3%B3%C5%BCny-wygl%C4%85d-te-same-produkty/ Link to comment Share on other sites More sharing options...
0 vekia Posted January 3, 2014 Share Posted January 3, 2014 problem jest w tym, że prestashop 1.5.4 nie ma tej funkcji :| stąd te rozbieżności w ustawieniach i kodzie Link to comment Share on other sites More sharing options...
0 RogerThat Posted January 3, 2014 Author Share Posted January 3, 2014 (edited) wgrałem czysty plik authController.php jeszcze raz i działa. dzieki. ale robię teraz to co wyżej napisałeś by mail z wiadomością o pierwszym zalogowaniu klienta do mnie przychodził i niestety nie przychodzi. Do klienta zresztą też. Czyli błąd jest w tym kodzie. Mój mail mam napisać w cudzysłowie? Zresztą, próbowałem na różne sposoby Edited January 3, 2014 by RogerThat (see edit history) Link to comment Share on other sites More sharing options...
Question
RogerThat
1.5.4
Hej
Czy istnieje możliwość powiadomienia na mojego maila że klient się zalogował (założył konto).
Niektórzy zakładają konta tyle - nie przechodzą do zakupów. O takich osobach chciałbym wiedzieć
Pozdrawiam
Link to comment
Share on other sites
13 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now