覆盖Magento的默认图像存储模式

时间:2013-01-21 20:39:38

标签: magento

Magento默认将图像存储为

~/D/E/DEFAULT.jpg

使用文件名的前两个字母来创建文件夹结构。我希望它以不同的方式工作,但在管理员后端或通过谷歌搜索找不到任何相关信息。有没有人有过这方面的经验?

1 个答案:

答案 0 :(得分:2)

您正在寻找的内容似乎在类Varien_File_Uploader中处理,因此在lib / Varien文件夹中的Magento深处。 方法getDispretionPath($fileName)如下所示:

static public function getDispretionPath($fileName)
{
    $char = 0; 
    $dispretionPath = '';
    while (($char < 2) && ($char < strlen($fileName))) {
        if (empty($dispretionPath)) {
            $dispretionPath = DIRECTORY_SEPARATOR
                . ('.' == $fileName[$char] ? '_' : $fileName[$char]);
        } else {
            $dispretionPath = self::_addDirSeparator($dispretionPath)
                  . ('.' == $fileName[$char] ? '_' : $fileName[$char]);
        }
        $char ++;
    }
    return $dispretionPath;
}

基本上,while循环最多有两次运行,在这两次运行中,它添加了一个目录分隔符,后跟一个字符(或“_”,如果字符是“。”),文件名为$dispretionPath并返回那条路。此方法又用于同一类的save()方法,然后创建目录:

$this->_dispretionPath = self::getDispretionPath($fileName);
$destinationFile.= $this->_dispretionPath;
$this->_createDestinationFolder($destinationFile);