Warum erstellt Magento 2 Direktiven für Medienbilder mithilfe der Admin-URL?
Zum Beispiel, wenn ich ein Bild auf der Kategorieseite WYSIWYG hinzufüge
<img src="{{media url="wysiwyg/image.jpg"}}" alt="" />
aber dann analysiert Magento es für Frontend und ist so
<img src="https://domain.co.uk/admin/cms/wysiwyg/directive/___directive/e3ttZWRpYSB1cmw9Ind5c2l3eWcvQ29udmV5b3JfYmVsdHNfZmFzdF9kZWxpdmVyeS5qcGcifX0,/key/b67d0a8069ef28a8443e0bad6d912512704213d60e1d9021b1ec2b9dd34bf390/" alt="">
Da die Verknüpfung mit dem Administrator erfolgt, wird der Browser nur geladen, wenn Sie beim Administrator angemeldet sind. Dies stellt auch ein Sicherheitsproblem dar, da der Administrationspfad im Frontend angegeben wird.
Ich habe in vendor / magento / module-cms / Helper // Wysiwyg / images.php gesucht und es sieht so aus, als ob die Funktion getImageHtmlDeclaration () dies erzeugt
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;
}
Ich habe versucht, statische URLs für Medien zu verwenden, aber immer noch keine Verwendung. Daher kann ich nur daran denken, diese Funktion so zu bearbeiten, dass Frontend-URLs anstelle von Backend / admin verwendet werden
Jede Hilfe hierzu wäre sehr dankbar :)
{{media url="wysiwyg/some-image.jpg"}}