Вот код, который создает этот путь к имени файла, найденный в Mage_Catalog_Model_Product_Image
:
// build new filename (most important params)
$path = array(
Mage::getSingleton('catalog/product_media_config')->getBaseMediaPath(),
'cache',
Mage::app()->getStore()->getId(),
$path[] = $this->getDestinationSubdir()
);
if((!empty($this->_width)) || (!empty($this->_height)))
$path[] = "{$this->_width}x{$this->_height}";
// add misk params as a hash
$miscParams = array(
($this->_keepAspectRatio ? '' : 'non') . 'proportional',
($this->_keepFrame ? '' : 'no') . 'frame',
($this->_keepTransparency ? '' : 'no') . 'transparency',
($this->_constrainOnly ? 'do' : 'not') . 'constrainonly',
$this->_rgbToString($this->_backgroundColor),
'angle' . $this->_angle,
'quality' . $this->_quality
);
// if has watermark add watermark params to hash
if ($this->getWatermarkFile()) {
$miscParams[] = $this->getWatermarkFile();
$miscParams[] = $this->getWatermarkImageOpacity();
$miscParams[] = $this->getWatermarkPosition();
$miscParams[] = $this->getWatermarkWidth();
$miscParams[] = $this->getWatermarkHeigth();
}
$path[] = md5(implode('_', $miscParams));
// append prepared filename
$this->_newFile = implode('/', $path) . $file; // the $file contains heading slash
Итак, хеш генерируется из информации о конфигурации (соотношение сторон и т. Д.), А также информации о водяных знаках. Эта информация обычно не меняется. Тем не менее, я вижу, что путь частично генерируется из store_id
текущего хранилища, так что ваша проблема может быть там.
Есть ли причина, по которой вы не можете позволить Magento использовать обычные процедуры кэширования для обоих магазинов? Поскольку Magento проверяет файловую систему на наличие кэшированного изображения, конфликта не должно быть.
Надеюсь, это поможет!
Спасибо,
Джо
После размышления, вы просто пытаетесь заставить изображения каталогов работать в обоих доменах? Некэшированная версия каталожных изображений находится по адресу %magento%/media/catalog/product
. Скопируйте каталоги из этого места, и ваши каталоги изображений должны работать.