I got the above error when uploading my Magento Plugin on Siteground. I have tried to deploy this plugin on my local system as well as on our test system.
No such errors had arised when deploying on both these systems, but on Siteground it threw this error.
I have developed my Magento Plugin in Magento Community Version 1.9.1.1
I have to deploy it somehow on Siteground which is using Magento version 1.7.0.2
I have also checked about the code compatibility by using version 1.7.0.2 on my local system and then deploying my plugin. Everything worked fine there too.
Here are my required files
config.xml
<?xml version="1.0"?>
<config>
<modules>
<Xylyx_MyCheckout>
<version>1.1.0</version>
</Xylyx_MyCheckout>
</modules>
<global>
<helpers>
<mycheckout>
<class>Xylyx_MyCheckout_Helper</class>
</mycheckout>
</helpers>
<models>
<mycheckout>
<class>Xylyx_MyCheckout_Model</class>
<resourceModel>xylyx_mysql4</resourceModel>
</mycheckout>
</models>
<blocks>
<mycheckout>
<class>Xylyx_MyCheckout_Block</class>
</mycheckout>
</blocks>
</global>
</config>
I have also created the proper Helper file named Data.php according to the recommended folder locations as suggested in Magento forums.
Data.php
<?php
/**
* Xylyx MyCheckout Data Helper
*
*
*/
class Xylyx_MyCheckout_Helper_Data extends Mage_Core_Helper_Abstract {
}
When I tried to refresh the cache I got this error got Data.php file not found
I have checked both my config.xml and system.xml for any kind of syntactic errors (Be it, white-spaces or any other unwanted tags and checked the tags also)
What could be the actual error happening under the hood??? Or what could be wrong from my side?
Any kind of suggestion on this would be very much help!!!!
Have you used any translations in your system.xml. If so what is the module name you have given?
Eg: translate="label" module="mycheckout"
Have you given the module name as mycheckout?
Explanation:
the translate='label' in the system.xml uses the helper abstract class,
abstract class Mage_Core_Helper_Abstract
{
/**
* Translate array
*
* @param array $arr
* @return array
*/
public function translateArray($arr = array())
{
foreach ($arr as $k => $v) {
if (is_array($v)) {
$v = self::translateArray($v);
} elseif ($k === 'label') {
$v = self::__($v);
}
$arr[$k] = $v;
}
return $arr;
}
}