क्यों Magento 2 व्यवस्थापक यूआरएल का उपयोग कर मीडिया छवियों के लिए निर्देश बना रहा है?
उदाहरण के लिए जब मैं श्रेणी पेज WYSIWYG पर एक छवि जोड़ता हूं तो यह जुड़ जाता है
<img src="{{media url="wysiwyg/image.jpg"}}" alt="" />
लेकिन फिर मैजेंटो इसे फ्रंटेंड के लिए पार्स करता है और इस तरह होता है
<img src="https://domain.co.uk/admin/cms/wysiwyg/directive/___directive/e3ttZWRpYSB1cmw9Ind5c2l3eWcvQ29udmV5b3JfYmVsdHNfZmFzdF9kZWxpdmVyeS5qcGcifX0,/key/b67d0a8069ef28a8443e0bad6d912512704213d60e1d9021b1ec2b9dd34bf390/" alt="">
क्योंकि इसके ब्राउजर पर लोड होने का एकमात्र तरीका एडमिन से जोड़ना है, यदि आप एडमिन से लॉग इन हैं। यह एक सुरक्षा समस्या भी है क्योंकि यह फ्रंटएंड पर व्यवस्थापक पथ का खुलासा कर रहा है।
मैं विक्रेता / Magento / मॉड्यूल-सेमी / हेल्पर // Wysiwyg / images.php में दिखता था और फ़ंक्शन getImageHtmlDeclaration () इसे बनाता है
public function getImageHtmlDeclaration($filename, $renderAsTag = false)
{
$fileurl = $this->getCurrentUrl() . $filename;
$mediaUrl = $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
$mediaPath = str_replace($mediaUrl, '', $fileurl);
$directive = sprintf('{{media url="%s"}}', $mediaPath);
if ($renderAsTag) {
$html = sprintf('<img src="%s" alt="" />', $this->isUsingStaticUrlsAllowed() ? $fileurl : $directive);
} else {
if ($this->isUsingStaticUrlsAllowed()) {
$html = $fileurl; // $mediaPath;
} else {
$directive = $this->urlEncoder->encode($directive);
$html = $this->_backendData->getUrl('cms/wysiwyg/directive', ['___directive' => $directive]);
}
}
return $html;
}
मैंने मीडिया के लिए स्थैतिक यूआरएल का उपयोग करने की कोशिश की, लेकिन अभी भी कोई उपयोग नहीं है, इसलिए केवल मेरे आस-पास के काम के बारे में सोच सकता है, इस फ़ंक्शन को बैकेंड / व्यवस्थापक के बजाय फ्रंटएंड यूआरएल का उपयोग करने के लिए संपादित करना है
इस पर कोई मदद बहुत सराहना की जाएगी :)
{{media url="wysiwyg/some-image.jpg"}}
फॉर्मेट में बदल देगा जो हम Magento में उम्मीद के लिए आए हैं