M得到这个:
<img alt="" }}="" es_3.jpg="" wysiwyg="" src="{{media url=">
在我的表格中,我添加了此代码
$wysiwygConfig = Mage::getSingleton('cms/wysiwyg_config')->getConfig(
array('tab_id' => 'form_section')
);
$wysiwygConfig["files_browser_window_url"] = Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg_images/index');
$wysiwygConfig["directives_url"] = Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg/directive');
$wysiwygConfig["directives_url_quoted"] = Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg/directive');
$wysiwygConfig["widget_window_url"] = Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/widget/index');
$wysiwygConfig["files_browser_window_width"] = (int) Mage::getConfig()->getNode('adminhtml/cms/browser/window_width');
$wysiwygConfig["files_browser_window_height"] = (int) Mage::getConfig()->getNode('adminhtml/cms/browser/window_height');
$plugins = $wysiwygConfig->getData("plugins");
$plugins[0]["options"]["url"] = Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/system_variable/wysiwygPlugin');
$plugins[0]["options"]["onclick"]["subject"] = "MagentovariablePlugin.loadChooser('".Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/system_variable/wysiwygPlugin')."', '{{html_id}}');";
$plugins = $wysiwygConfig->setData("plugins",$plugins);
$fieldset->addField('longdescription', 'editor', array(
'name' => 'longdescription',
'label' => Mage::helper('press')->__('Description'),
'title' => Mage::helper('press')->__('Description'),
'style' => 'width:500px; height:300px;',
'config' => $wysiwygConfig,
));
我仍然不清楚上面的代码,但我从某处复制了它,但我知道它可以浏览图像文件而不是编写自定义网址。
之后我就像这样在前端打电话:
<?php echo $item["longdescription"]; ?>
我正在收到文字,但不是图片和图片我得到的是顶部提到的断开的链接。
我错过了什么吗?如果是,那么什么?
答案 0 :(得分:2)
添加以下代码:
<?php $_cmsHelper = Mage::helper('cms');?>
<?php $_process = $_cmsHelper->getBlockTemplateProcessor();?>
<?php echo $_process->filter($item["longdescription"]); ?>
答案 1 :(得分:0)
看起来你可能会在某个地方打破引号,你是如何传递图像的图像/网址的?如果你看在这里:alt =“”}} =“”es_3.jpg =“”你可以看到你在某个地方的关闭括号中传递,并且正在完全跳过SRC。尝试VAR_EXPORTing $ item并告诉我你有什么。
答案 2 :(得分:0)
我今天遇到了同样的问题。事实证明Mage_Adminhtml_Cms_WysiwygController::directiveAction()
尝试根据网址创建图片。此函数调用Varien_Image_Adapter_Gd2::open()
,然后尝试打开该文件。 这是出错的地方:
图像适配器尝试获取有关图像的信息,如图像大小和mime类型。但是......当您的站点位于本地主机或流浪者盒或类似的东西时,服务器会尝试getimagesize('http://www.domain.com/image.jpg')
而不是getimagesize('/Users/john/sites/domain.com/image.jpg')
(例如)。
对此的修复是覆盖您自己模块中的directiveAction()
以在抛出异常之前添加另一个catch:
public function directiveAction()
{
$directive = $this->getRequest()->getParam('___directive');
$directive = Mage::helper('core')->urlDecode($directive);
$url = Mage::getModel('core/email_template_filter')->filter($directive);
try {
$image = Varien_Image_Adapter::factory('GD2');
$image->open($url);
$image->display();
} catch (Exception $e) {
// Try to get an absolute path:
$path = Mage::getBaseDir().'/'.preg_replace('/http:\/\/(.*)\//Ui', '', $url);
$image = Varien_Image_Adapter::factory('GD2');
$image->open($path);
$image->display();
} catch (Exception $e) {
$image = Varien_Image_Adapter::factory('GD2');
$image->open(Mage::getSingleton('cms/wysiwyg_config')->getSkinImagePlaceholderUrl());
$image->display();
}
}
一个不错的小奖励:管理员中断开的链接现在也消失了! ; - )