您的位置:首页 > 其它

把magento所见即所得默认生成的图片缓存路径改为图片真实路径

2016-09-14 09:52 507 查看
From:

/admin/cms_wysiwyg/directive/___directive/e3ttZWRpYSB1cmw9Ind5c2l3eWcvd2lkZ2V0cy9iYW5uZXIvaG9tZXBhZ2UvZm9yZWdyb3VuZC9maXNoLXRhbmsucG5nIn19/key/e8167e3884e40b97d8985e7b84e7cbc7875f134e5f7e5946c9c2a482d0279762/

To:

/media/wysiwyg/path/to/file/photo.jpg

1、 Adding a new GET parameter
use_file_url
to the URL

$url    = $this->getUrl(
'*/cms_wysiwyg_images/index',
array(
'target_element_id' => $element->getName(),
'use_file_url' => 1
)
);

2、Override the
getOnInsertUrl()
function of the
Mage_Adminhtml_Block_Cms_Wysiwyg_Images_Content
:

public function getOnInsertUrl()
{
$useFileUrl = (int)$this->getRequest()->getParam('use_file_url', 0);
return $this->getUrl('*/*/onInsert', array('use_file_url' => $useFileUrl));
}

3、Handle the new parameter in the
Mage_Adminhtml_Cms_Wysiwyg_ImagesController
controller:

public function onInsertAction()
{
$useFileUrl = (int)$this->getRequest()->getParam('use_file_url', 0) == 1 ? true : false;
$helper     = Mage::helper('cms/wysiwyg_images');
$storeId    = $this->getRequest()->getParam('store');
$filename   = $this->getRequest()->getParam('filename');
$filename   = $helper->idDecode($filename);
$asIs       = $this->getRequest()->getParam('as_is');

Mage::helper('catalog')->setStoreId($storeId);
$helper->setStoreId($storeId);

if ($useFileUrl == false) {
$image = $helper->getImageHtmlDeclaration($filename, $asIs);
} else {
$image = $helper->getImageMediaUrl($filename);
}

$this->getResponse()->setBody($image);
}

4、Override the
Mage_Cms_Helper_Wysiwyg_Images
helper and add the
getImageMediaUrl()
function:

public function getImageMediaUrl($filename)
{
return $this->getCurrentUrl() . $filename;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: