Відповіді:
URL-адресу зображення, яку ви вказали, неможливо мати в магазині Magento. Я здогадуюсь, ви хотіли, щоб це було затуманено, але, роблячи це, унеможливити відповідь.
Я не можу придумати жодних причин для деконструкції контуру зображення, якщо ви не перебираєте веб-сайт на іншому веб-сайті, інакше ви матимете прямий доступ до моделі продукту і зможете отримати цю інформацію безпосередньо.
Тим не менш, використовуючи реальний приклад. Напр
/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/m/e/me-d1_2.jpg
/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/m/e/me-d1_2.jpg
|___________________________|_|_____|________________________________|_|_|__________|
| | | | | | |
Cache Directory | | | | | |
Mage/Catalog/Model/Product/Media/Config.php | | | |
getBaseMediaPath() | | | | | |
| | | | | |
| | | | | |
Store ID | | | |
Mage::app()->getStore()->getId() | | |
| | | | |
| | | | |
Subdirectory | | | |
Mage/Catalog/Model/Product/Image.php | | |
getDestinationSubdir() | | | |
| | | |
| | | |
MD5 of Image Params | | |
See below | | |
Mage/Catalog/Model/Product/Image.php
Line +324 | | |
| | |
| | |
First letter of Image Name
| |
| |
Second letter of Image Name
|
|
Original Image Name
Якщо завантажено через адміністратора Magento , оригінальне зображення розташоване за адресою,
Тож отримати оригінальну URL-адресу досить просто, просто видаліть шлях кешу та хеш-каталог каталогу.
Тобто Видалитиcache/1/image/9df78eab33525d08d6e5fb8d27136e95/
Так
/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/m/e/me-d1_2.jpg
Стає
/media/catalog/product/m/e/me-d1_2.jpg
Якщо завантажено через потік даних / імпорт , оригінальне зображення розташоване в
/ медіа / імпорт
Але далі не було б здогадок. Однак люди хочуть відформатувати завантажений DIR-код для імпорту, справді їм належить, і підкаталог зображень у них насправді не має значення - оскільки вони надають відносний шлях до зображення при завантаженні.
($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,
Необов’язкові аргументи, якщо є водяний знак
$this->getWatermarkFile(),
$this->getWatermarkImageOpacity(),
$this->getWatermarkPosition(),
$this->getWatermarkWidth(),
$this->getWatermarkHeigth()
md5(implode('_', $miscParams));
Так, наприклад, із типовими настройками
md5('non_no_no_not_ffffff_0_90')
md5
Хеш може бути однаковим по всьому сайту - для кожного зображення, але вам потрібно буде з'ясувати значення , використовувані для його генерації. Ви можете зв'язати це з грубою силою.
Це значення Magento за замовчуванням для хеша
9df78eab33525d08d6e5fb8d27136e95
Атрибути: sonassi.com
Коротка відповідь - ні. Немає способу повернення базового зображення на основі URL-адреси зображення кешу. Однак, якщо ви видалите папку кешу та хеш, ви повинні мати можливість зрозуміти, якою буде URL-адреса, наприклад:
http://www.mysite.com/media/catalog/product/cache/1/image/109x298/9df78eab33525d08d6e5fb8d27136e95/u/t/uti001_2.jpg
видаліть усе після продукту до появи триефікса префікса (у цьому випадку видаліть cache/1/image/109x298/9df78eab33525d08d6e5fb8d27136e95/
:
http://www.mysite.com/media/catalog/product/u/t/uti001_2.jpg
Можливо, кращим способом вирішення цього питання є використання об'єктної моделі:
$product = Mage::getModel('catalog/product')->load(42);
echo $product->getImage();
echo $product->getThumbnail();
Це працює
$r = explode('/' ,$imagesCachePath);
unset($r[6]);
unset($r[7]);
unset($r[8]);
unset($r[9]);
$r = implode('/',$r);