THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline

#1 Newsletter

(17-11-2014 13:14:51)


Bonjour,

Comment un visiteur (pas un client) se desabonne de la newsletter apres incription ?

Offline

#2 Re: Newsletter

(17-11-2014 15:40:38)


Je ne crois pas que ce soit actuellement prévu. Issue ?


OpenStudio Toulouse

Offline

#3 Re: Newsletter

(18-11-2014 16:33:54)


J'ai rajoute cette function
mais elle me renvoie toujours comme quoi je suis deja enregistre
sans executer NEWSLETTER_UNSUBSCRIBE

je ne comprends pas mon erreur
???

    public function unsubscribeAction()
    {
        $error_message = false;
        $newsletterForm = new NewsletterForm($this->getRequest());
        
        try {
            $form = $this->validateForm($newsletterForm);
            $newsletterOldEmail = $form->get('email')->getData();
          
            if (null !== $newsletter = NewsletterQuery::create()->findOneByEmail($newsletterOldEmail)) {
                $event->setId($newsletter->getId());
                $this->dispatch(TheliaEvents::NEWSLETTER_UNSUBSCRIBE, $event);
            }
        } catch (\Exception $e) {
            $error_message = $e->getMessage();
        }
    
        \Thelia\Log\Tlog::getInstance()->error(sprintf('Error during newsletter unsubscription : %s', $error_message));
    
        // If Ajax Request
        if ($this->getRequest()->isXmlHttpRequest()) {
            if ($error_message) {
                $response = $this->jsonResponse(json_encode(array(
                            "success" => false,
                            "message" => $error_message
                        )));
            } else {
                $response = $this->jsonResponse(json_encode(array(
                            "success" => true,
                            "message" => Translator::getInstance()->trans("Votre demande de désabonnement a bien été pris en compte.",[],Front::MESSAGE_DOMAIN)
                        )));;
            }
    
            return $response;
    
        } else {
            $newsletterForm->setErrorMessage($error_message);
    
            $this->getParserContext()
                ->addForm($newsletterForm)
                ->setGeneralError($error_message)
            ;
        }

    }

Offline

#4 Re: Newsletter

(18-11-2014 17:21:18)


Je suppose que la route qui est dans l'action de ta form n'appelle pas le ton controleur, mais le controleur d'abonnement.


OpenStudio Toulouse

Offline

#5 Re: Newsletter

(19-11-2014 09:29:51)


la route me parait correcte

    <!-- newsletter management -->
    <route id="newsletter.subscribe.process" path="/newsletter" methods="post">
        <default key="_controller">Front\Controller\NewsletterController::subscribeAction</default>
        <default key="_view">newsletter</default>
    </route>
    <route id="newsletter.unsubscribe.process" path="/newsletter-unsubscribe" methods="post">
        <default key="_controller">Front\Controller\NewsletterController::unsubscribeAction</default>
        <default key="_view">newsletter</default>
    </route>
    <!-- end newsletter management -->

Offline

#6 Re: Newsletter

(19-11-2014 10:55:48)


Et dans ta forme, tu as bien action="{url path="/newsletter-unsubscribe"}" ? (et pas  action="{url path="/newsletter"}")


OpenStudio Toulouse

Offline

#7 Re: Newsletter

(19-11-2014 14:59:36)


trouve j'utilise new NewsletterForm($this->getRequest());
le callback bloque normal

new Callback(array(
                        "methods" => array(
                            array($this,
                                "verifyExistingEmail")
                        )
                    )

Last edited by zzuutt (19-11-2014 15:11:25)

Offline

#8 Re: Newsletter

(19-11-2014 15:18:29)


je voulais utilser le meme formulaire avec 2 boutons  inscription / désinscription
vu le callback sur le form

comment faire ?

Last edited by zzuutt (19-11-2014 15:19:03)

Offline

#9 Re: Newsletter

(10-06-2018 06:04:42)


Bonjour,

Au sujet du module Newsletter (HookNewsletter) de Thélia 2, comment faire pour désinscrire un client depuis l'interface privé de Thélia ?

Merci,

Cordialement,

Thierry


TS Editions Thisa