我有一個代碼在magento,我需要覆蓋,代碼可以在/app/code/core/Mage/Core/Model/Config/Options.php找到。每個商店都有自己的媒體文件夾?
的代碼是這樣的:
protected function _construct()
{
$appRoot= Mage::getRoot();
$root = dirname($appRoot);
$this->_data['app_dir'] = $appRoot;
$this->_data['base_dir'] = $root;
$this->_data['code_dir'] = $appRoot.DS.'code';
$this->_data['design_dir'] = $appRoot.DS.'design';
$this->_data['etc_dir'] = $appRoot.DS.'etc';
$this->_data['lib_dir'] = $root.DS.'lib';
$this->_data['locale_dir'] = $appRoot.DS.'locale';
$this->_data['media_dir'] = $root.DS.'default_media';
$this->_data['skin_dir'] = $root.DS.'skin';
$this->_data['var_dir'] = $this->getVarDir();
$this->_data['tmp_dir'] = $this->_data['var_dir'].DS.'tmp';
$this->_data['cache_dir'] = $this->_data['var_dir'].DS.'cache';
$this->_data['log_dir'] = $this->_data['var_dir'].DS.'log';
$this->_data['session_dir'] = $this->_data['var_dir'].DS.'session';
$this->_data['upload_dir'] = $this->_data['media_dir'].DS.'upload';
$this->_data['export_dir'] = $this->_data['var_dir'].DS.'export';
}
我需要改變默認的媒體,每個店都有自己的媒體文件夾。所以我做了功能...
public function getMediaFromStore(){
$fullMediaUrl=Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
$baseUrl = Mage::getBaseUrl();
echo substr(Mage::getBaseUrl($fullMediaUrl, strlen($baseUrl));
}
而且比,而不是
$this->_data['media_dir'] = $root.DS.'default_media';
我把
$this->_data['media_dir'] = $root.DS.$this->getMediaFromStore();
我得到了該死的錯誤,這是這樣的......
Fatal error: Call to a member function getOptions() on a non-object in /home/cofamedia/www/magento/app/Mage.php on line 328
im im stucked,有沒有人有一些exp lanation如何去解決這個錯誤。併爲每個商店Magento中的每個媒體文件夾做。謝謝。
有什麼意義?所見即所得文件的分離...? – benmarks
@benmark是的,就是這一點。 – stefankuburovic