URL gambar yang Anda berikan tidak mungkin dimiliki oleh toko Magento. Saya kira Anda ingin itu dikaburkan, tetapi dengan melakukan itu tidak memungkinkan untuk menjawab.
Saya tidak dapat memikirkan alasan apa pun untuk membangun ulang jalur gambar kecuali jika Anda menggores situs web lain, jika tidak, Anda akan memiliki akses langsung ke model produk dan dapat mengambil informasi ini secara langsung.
Namun demikian, menggunakan contoh nyata. Misalnya
/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/m/e/me-d1_2.jpg
De membangun jalur gambar cache
/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
Menemukan gambar asli
Jika diunggah melalui admin Magento , gambar aslinya terletak di,
/media/catalog/product/m/e/me-d1_2.jpg
Jadi mendapatkan URL asli cukup mudah, cukup hapus jalur direktori cache dan hash.
Yaitu. Menghapuscache/1/image/9df78eab33525d08d6e5fb8d27136e95/
Begitu
/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/m/e/me-d1_2.jpg
Menjadi
/media/catalog/product/m/e/me-d1_2.jpg
Jika diunggah melalui aliran data / impor , gambar asli terletak di
/ media / impor
Tapi di luar akan ada dugaan. Namun orang-orang ingin memformat DIR unggahan mereka untuk impor benar-benar terserah mereka dan subdirektori gambarnya benar-benar tidak relevan - karena mereka memberikan jalur relatif ke gambar ketika mengunggah.
Sedikit tentang md5 Hash
($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,
Argumen opsional jika ada tanda air
$this->getWatermarkFile(),
$this->getWatermarkImageOpacity(),
$this->getWatermarkPosition(),
$this->getWatermarkWidth(),
$this->getWatermarkHeigth()
md5(implode('_', $miscParams));
Jadi misalnya, dengan default
md5('non_no_no_not_ffffff_0_90')
The md5
hash bisa sama di seluruh situs - untuk setiap gambar, tetapi Anda akan perlu untuk mengetahui nilai-nilai yang digunakan untuk menghasilkan itu. Anda bisa dengan kasar memaksanya dengan relatif mudah.
Ini adalah nilai Magento default untuk hash
9df78eab33525d08d6e5fb8d27136e95
Atribut: sonassi.com
Jawaban singkat - tidak. Tidak ada metode untuk mengembalikan gambar dasar berdasarkan url gambar cache. Namun, jika Anda menghapus folder cache dan hash Anda harus dapat melihat seperti apa URL itu, misalnya:
hapus semuanya setelah produk sampai trif awalan (dalam hal ini, hapus
cache/1/image/109x298/9df78eab33525d08d6e5fb8d27136e95/
:Mungkin cara yang lebih baik untuk menangani ini adalah menggunakan model objek:
sumber
Ini bekerja
sumber
Dalam
list.phtml
, inilah yang bekerja untuk saya:sumber