0

I'm using an extension for marketing emails on a magento site.

On certain pages a phtml file is called that uses some javascript. For the js to get rendered an if statement has to pass

   if(Mage::helper('connector')->getPageTrackingEnabled()) :?>
     //some js
   <?php endif; ?>

getPageTrackingEnabled() is a method inside data.php which checks the value of system config global variable. It looks like this:

   public function getPageTrackingEnabled()
{
    return (bool)Mage::getStoreConfig(self::XML_PATH_PAGE_TRACKING_ENABLED);
}

But causes this error

   Fatal error: Call to undefined method Dotdigitalgroup_Email_Helper_Data::getPageTrackingEnabled()

Any suggestions on where I should go from here. I've done the done the cache, disabled compilation and tried calling the method differently but with no luck unfortunately

EDIT config.xml

   <helpers>
        <connector>
            <class>Dotdigitalgroup_Email_Helper</class>
        </connector>
    </helpers>
  • Can you show how requesting a helper called connector resolves to the helper in the error message? – Melvyn Jan 8 '14 at 17:14
  • I added part of the config which shows the connector helper with it's class. If this is not what you mean can you be more specific. Thanks for the repsonse – develophper Jan 9 '14 at 9:14
  • In case the error is not clear to you, it doesn't respond with a file or directory name but instead the class name. – develophper Jan 9 '14 at 9:47
  • Check if the correct Dotdigitalgroup_Email_Helper_Data is used. If you have one in the community codepool and one in the local codepool the one from local will be used. – Marius Jan 9 '14 at 10:11
  • Spot on Marius. I thought I had removed all of the original extension before installing the update but a folder in local managed to slip through. Thanks very much – develophper Jan 9 '14 at 10:32
0

As a temporary solution I've done an include inside the phtml file that gets called on the page.

    $site_url =  Mage::getBaseDir(); 
    include($site_url . '/app/code/community/Dotdigitalgroup/Email/Helper/Data.php');

I'm not very happy with the solution so would be very welcoming of any alternative advice or even if someone could explain to me how exactly a data.php file gets rendered. This might give me a greater insight into where it could be going wrong.


EDIT

The problem was with some files in the local code pool that I had missed. One of them was conflicting with the new files which were in the community pool. After deleting the ones in Local the issue was resolved

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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