Entspricht der CMS-Richtlinie {{media url = “…”}} in normalen Blockvorlagen

14

Was ist die Entsprechung {{media url="wysiwyg/image.jpg"}}, die in CMS-Seiten verwendet werden kann, wenn wir dies in einer normalen .phtmlDatei (des Typs core/template) verwenden möchten ?

Alex
quelle

Antworten:

14

Das Rendern solcher URLs erfolgt beim Anzeigen von CMS-Seiten oder Blöcken in

\Mage_Core_Model_Email_Template_Filter::mediaDirective:

public function mediaDirective($construction)
{
    $params = $this->_getIncludeParameters($construction[2]);
    return Mage::getBaseUrl('media') . $params['url'];
}

Gestützt auf diesen Code, nur ein

<img src="<?php echo Mage::getBaseUrl('media') ?>image.jpg">

kann in der Vorlage verwendet werden

Alex
quelle
2
Entfernen Sie einfach das blockquote ( `) aus dem zweiten Code-Snippet (nachher ?>image.jpg">). (Ich kann nicht weniger als 6 Buchstaben bearbeiten)
hims056
2
+1 Aber vielleicht ist es besser, Mage_Core_Model_Store::URL_TYPE_MEDIAstatt zu passen 'media'?
Nick Rolando
12

In einer HTML-Vorlagendatei:

Mage::getBaseUrl('media') . $url;

In einem CMS-Block oder einer Seite:

{{store direct_url="media/url"}}

Der Unterschied zwischen {{media url="foo"}}und {{store direct_url="media/foo"}}besteht darin, dass letzterer den Pfad des Medienverzeichnisses fest codiert media.
Dies kann zu Problemen bei der Verwendung eines CDN oder Ähnlichem führen, da es umgeht Mage::getBaseUrl('media').

Vinai
quelle
Was ist der Unterschied zwischen {{store direct_url="media/url"}}und {{media url="foo"}}?
Alex
Meine Antwort wurde entsprechend aktualisiert.
Vinai
Vielen Dank. Ich habe auch meine Frage bearbeitet, um es klarer zu machen - ich möchte die vollständige URL eines Bildes. Eigentlich würde ich gerne meine eigene Antwort akzeptieren ;-) --- wie ich mein Problem am besten :-P wissen
Alex
4
Beachten Sie Folgendes: {{store direct_url = "media / url"} -> Wenn mod_rewrite deaktiviert ist, wird möglicherweise die index.php in die URL eingefügt, wodurch die Medien-URL unterbrochen wird.
MagePsycho
1
@MagePsycho: guter Punkt. Zum Glück hatte ich noch nie ein Geschäft mit deaktiviertem mod_rewrite.
Vinai