เทียบเท่าของคำสั่ง CMS {{media url =“ …”}} ในเทมเพลตบล็อกปกติ


14

อะไรคือสิ่งที่เทียบเท่ากับ{{media url="wysiwyg/image.jpg"}}ที่สามารถใช้ในหน้า CMS หากเราต้องการใช้สิ่งนี้ใน.phtmlไฟล์ปกติ(ประเภทcore/template)

คำตอบ:


14

การแสดงผลของ URL ดังกล่าวจะกระทำเมื่อแสดงหน้า CMS หรือบล็อกใน

\Mage_Core_Model_Email_Template_Filter::mediaDirective:

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

ฐานในรหัสนี้เพียงแค่

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

สามารถใช้ในเทมเพลต


2
เพียงลบ blockquote ( `) ออกจากข้อมูลโค้ดที่สอง (หลัง?>image.jpg">) (ฉันไม่สามารถแก้ไขตัวอักษรน้อยกว่า 6 ตัว)
056

2
+1 แต่มันอาจจะดีกว่าที่จะผ่านMage_Core_Model_Store::URL_TYPE_MEDIAแทนที่จะ'media'?
Nick Rolando

12

ในไฟล์เทมเพลต phtml:

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

ในบล็อก CMS หรือหน้า:

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

ความแตกต่างระหว่าง{{media url="foo"}}และ{{store direct_url="media/foo"}}เป็นที่ hardcodes mediaหลังเส้นทางสื่อไดเรกทอรีเป็น
ที่อาจนำไปสู่ปัญหาเมื่อใช้ CDN Mage::getBaseUrl('media')หรืออะไรเพราะมันทะลุ


ความแตกต่างระหว่าง{{store direct_url="media/url"}}และ{{media url="foo"}}คืออะไร?
Alex

อัปเดตคำตอบของฉันตาม
Vinai

ขอขอบคุณ. ฉันยังแก้ไขคำถามของฉันเพื่อให้ชัดเจนยิ่งขึ้น - ฉันต้องการ URL แบบเต็มของรูปภาพ จริง ๆ แล้วฉันยินดีที่จะยอมรับคำตอบของตัวเอง ;-) --- เพราะฉันรู้ปัญหาของฉันดีที่สุด :-P
Alex

4
โปรดทราบว่า: {{store direct_url = "media / url"}} -> หาก mod_rewrite ถูกปิดใช้งานสิ่งนี้อาจแนะนำ index.php ใน url ซึ่งจะเป็นการทำลาย url ของสื่อ
MagePsycho

1
@MagePsycho: จุดดี โชคดีที่ฉันไม่เคยมีร้านฮ่าด้วยการปิดการใช้งาน mod_rewrite
Vinai
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.