উত্তর:
আপনি যে চিত্রটির URL দিয়েছেন তা ম্যাগেন্টো স্টোরের সাথে থাকা অসম্ভব। আমি অনুমান করছি আপনি এটি নিরবচ্ছিন্ন হতে চেয়েছিলেন, কিন্তু এটি করার ক্ষেত্রে উত্তর দেওয়া অসম্ভব হয়ে পড়েছে।
আপনি অন্য কোনও ওয়েবসাইটকে ওয়েব-স্ক্র্যাপিং না করা পর্যন্ত চিত্রের পথটি নির্মান করার কোনও কারণ আমি ভাবতে পারি না, অন্যথায়, আপনার কাছে পণ্য মডেলটিতে সরাসরি অ্যাক্সেস থাকতে পারে এবং সরাসরি এই তথ্যটি আনতে পারতেন।
তবুও, একটি বাস্তব উদাহরণ ব্যবহার করে। যেমন
/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
যদি ম্যাজেন্টো প্রশাসকের মাধ্যমে আপলোড করা হয় তবে মূল চিত্রটি এখানে অবস্থিত,
সুতরাং মূল 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
যদি ডেটাফ্লো / আমদানির মাধ্যমে আপলোড করা হয় তবে মূল চিত্রটি এর মধ্যে অবস্থিত
/ মিডিয়া / আমদানি
তবে এর বাইরে অনুমান করা হবে। তবে লোকে আমদানির জন্য তাদের আপলোড ডিআইআরটি ফর্ম্যাট করতে চায় তাদের উপর নির্ভর করে এবং চিত্রগুলি যে সাব-ডাইরেক্টরিতে থাকে তা সত্যিই প্রাসঙ্গিক নয় - কারণ তারা আপলোড করার সময় চিত্রটির আপেক্ষিক পথ সরবরাহ করে।
($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,
জলছবি থাকলে Oচ্ছিক আরোগুলি
$this->getWatermarkFile(),
$this->getWatermarkImageOpacity(),
$this->getWatermarkPosition(),
$this->getWatermarkWidth(),
$this->getWatermarkHeigth()
md5(implode('_', $miscParams));
উদাহরণস্বরূপ, খেলাপি সঙ্গে
md5('non_no_no_not_ffffff_0_90')
md5
হ্যাশ সমগ্র সাইট জুড়ে একই হতে পারে - প্রতি ইমেজ জন্য, কিন্তু আপনি তা থেকে তৈরী করা মান জিনিসটা করার প্রয়োজন হবে। আপনি এটি তুলনামূলকভাবে সহজে জোর করতে পারে।
এটি হ্যাশের জন্য ডিফল্ট ম্যাজেন্টো মান
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);