-1

i got a Problem with my Newsletter in Magento 1.8.0.0.

If a customer is on my site and when he enters his email address then Comes the error

There was a problem with the Registration

But i don´t know where the problem is?

if i take a look in the log file there is the error:

Notice: Undefined index: isAjax in /html/magento/app/design/frontend/default/theme135k/template/ajax/checkout/cart/sidebar/default.phtml on line 15

if i go to this file you see there

<?php             
$params = $this->getRequest()->getParams();
if ($params['isAjax'] == 1) {
    $refererUrl = Mage::registry('referrer_url');
    if (empty($refererUrl)) {
        $refererUrl = Mage::getBaseUrl();
    }
}

Anyone know where the Problem is?

UPDATE:

Hello and thanks for your answers. I tried to disable my latest 3rd part extensions but nothing changed. Here is the code of subscribercontroller.php.

Im not a developer - I taught me a few things myself - but my Know is unfortunately not enough to get the error on the ropes:)

Maybe you can help me.

class Mage_Newsletter_SubscriberController extends Mage_Core_Controller_Front_Action
{
    /**
      * New subscription action
      */
    public function newAction()
    {
        if ($this->getRequest()->isPost() && $this->getRequest()->getPost('email')) {
            $session            = Mage::getSingleton('core/session');
            $customerSession    = Mage::getSingleton('customer/session');
            $email              = (string) $this->getRequest()->getPost('email');

            try {
                if (!Zend_Validate::is($email, 'EmailAddress')) {
                    Mage::throwException($this->__('Please enter a valid email address.'));
                }

                if (Mage::getStoreConfig(Mage_Newsletter_Model_Subscriber::XML_PATH_ALLOW_GUEST_SUBSCRIBE_FLAG) != 1 &&
                    !$customerSession->isLoggedIn()) {
                    Mage::throwException($this->__('Sorry, but administrator denied subscription for guests. Please <a href="%s">register</a>.', Mage::helper('customer')->getRegisterUrl()));
                }

                $ownerId = Mage::getModel('customer/customer')
                        ->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
                        ->loadByEmail($email)
                        ->getId();
                if ($ownerId !== null && $ownerId != $customerSession->getId()) {
                    Mage::throwException($this->__('This email address is already assigned to another user.'));
                }

                $status = Mage::getModel('newsletter/subscriber')->subscribe($email);
                if ($status == Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE) {
                    $session->addSuccess($this->__('Confirmation request has been sent.'));
                }
                else {
                    $session->addSuccess($this->__('Thank you for your subscription.'));
                }
            }
            catch (Mage_Core_Exception $e) {
                $session->addException($e, $this->__('There was a problem with the subscription: %s', $e->getMessage()));
            }
            catch (Exception $e) {
                $session->addException($e, $this->__('There was a problem with the subscription.'));
            }
        }
        $this->_redirectReferer();
    }

    /**
     * Subscription confirm action
     */
    public function confirmAction()
    {
        $id    = (int) $this->getRequest()->getParam('id');
        $code  = (string) $this->getRequest()->getParam('code');

        if ($id && $code) {
            $subscriber = Mage::getModel('newsletter/subscriber')->load($id);
            $session = Mage::getSingleton('core/session');

            if($subscriber->getId() && $subscriber->getCode()) {
                if($subscriber->confirm($code)) {
                    $session->addSuccess($this->__('Your subscription has been confirmed.'));
                } else {
                    $session->addError($this->__('Invalid subscription confirmation code.'));
                }
            } else {
                $session->addError($this->__('Invalid subscription ID.'));
            }
        }

        $this->_redirectUrl(Mage::getBaseUrl());
    }

    /**
     * Unsubscribe newsletter
     */
    public function unsubscribeAction()
    {
        $id    = (int) $this->getRequest()->getParam('id');
        $code  = (string) $this->getRequest()->getParam('code');

        if ($id && $code) {
            $session = Mage::getSingleton('core/session');
            try {
                Mage::getModel('newsletter/subscriber')->load($id)
                    ->setCheckCode($code)
                    ->unsubscribe();
                $session->addSuccess($this->__('You have been unsubscribed.'));
            }
            catch (Mage_Core_Exception $e) {
                $session->addException($e, $e->getMessage());
            }
            catch (Exception $e) {
                $session->addException($e, $this->__('There was a problem with the un-subscription.'));
            }
        }
        $this->_redirectReferer();
    }
}

Many thanks !!

2
  • Try disabling 3rd party modules, reverting to default theme and testing if problem still persists. Commented Sep 21, 2014 at 16:29
  • hey.. did you solve this issue. If yes, please put an answer and feel free to accept it. Otherwise please accept a helped answer Commented Nov 8, 2014 at 4:30

1 Answer 1

1

Not sure what is the reason for this error with the given details. But I have a strong feeling that, the exception that you get when trying to subscribe newsletter and the log errors are two different problems and are not related. So check whether checkout log error persists, when you do nothing with newsletter.

In order to trace the error, you need to start digging from subscriber controller. It is located at app\code\core\Mage\Newsletter\controllers\SubscriberController.php. The action that will trigger while you trying to subscribe newsletter is newAction().

If you take a look on that method, you can see a beautiful try-catch method inside. Obviously your error is occurred due to the occurrence of an exception somewhere inside those multiple if conditions that are inside the try. You need to find which if condition that causes this exception and then dig the codes that is inside that if condition.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.