无法通过Magento Cms wysiwyg编辑器添加图像

时间:2013-04-12 08:35:21

标签: magento wysiwyg

当我尝试通过wysiwyg编辑器添加图像并尝试保存页面时,响应时间过长我得到了以下错误

a:5:{i:0;s:25:"Unsupported image format.";i:1;s:1001:"#0 /var/www/html/project1/lib/Varien/Image/Adapter/Gd2.php(51): Varien_Image_Adapter_Gd2->_getCallback('create')
#1 /var/www/html/project1/app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php(52): Varien_Image_Adapter_Gd2->open('http://121.0.0....')
#2 /var/www/html/project1/app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Adminhtml_Cms_WysiwygController->directiveAction()
#3 /var/www/html/project1/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('directive')
#4 /var/www/html/project1/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#5 /var/www/html/project1/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#6 /var/www/html/project1/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#7 /var/www/html/project1/index.php(87): Mage::run('', 'store')
#8 {main}";s:3:"url";s:150:"/index.php/admin/cms_wysiwyg/directive/___directive/e3ttZWRpYSB1cmw9Ind5c2l3eWcvcmd0LXNsaWRlci1pbWcwMS5qcGcifX0,/key/ceed8184f5f336aafcc307f8623aff45/";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:5:"admin";}

即使页面被保存,我也无法在CMS编辑器中查看图像

6 个答案:

答案 0 :(得分:8)

问题是Magento正在生成一个带有管理路径的动态链接。请参阅错误中的第8行:/index.php/admin/cms_wysiwyg/directive/___directive/e3ttZWRpYSB1cmw9Ind5c2l3eWcvcmd0LXNsaWRlci1pbWcwMS5qcGcifX0,/key/ceed8184f5f336aafcc307f8623aff45/ - 这是您的图片的链接,由WYSIWYG生成。

由于此链接最后没有已知的图像扩展名,我假设您产生了错误。

解决方案是只更改admin中的一个设置:

System -> Configuration -> General -> Content Management -> Use Static URLs for Media Content in WYSIWYG for CatalogYes

我发现在第180行(Magento 1.7.0.2中)的/app/code/core/Mage/Cms/Helper/WYSIWYG/Images.php中检查了此设置,并根据生成的静态链接或动态链接。

答案 1 :(得分:2)

这是一个Magento错误,缺乏对特定商店视图的考虑。

重写getImageHtmlDeclaration()的方法Mage_Cms_Helper_Wysiwyg_Images,修改源代码:

$mediaPath = str_replace(Mage::getBaseUrl('media'), '', $fileurl);

$mediaPath = str_replace(Mage::app()->getStore($this->_storeId)->getBaseUrl('media'), '', $fileurl);

答案 2 :(得分:0)

您是否检查过此服务器上是否启用了allow_url_fopen?今天我遇到了同样的问题,改变这个问题解决了这个问题。

有几种方法可以改变这种情况:

  • 的php.ini
  • apache配置
  • vhost config
  • .htaccess文件

您必须选择适合您的网络服务器设置的最佳方式。

我修改了我的Apache VirtualHost配置文件以修复它:

php_admin_value allow_url_fopen on

答案 3 :(得分:0)

编辑包含skin文件夹中图像的cms页面时发生异常。因为当我们使用自定义管理主题时,占位符图像在adminhtml TinyMCE中不可用。

修复:将占位符图片从adminhtml / default / default /复制到自定义主题,它将停止这样的例外。

$ <file datamash -Wst' ' -g2 sum 1 | datamash -Wt' ' reverse
38 apples
18 oranges
57 pineapples

skin images placeholder for TinyMCE

答案 4 :(得分:-1)

我有类似的问题。 解决方案是创建folder / media / wysiwyg

答案 5 :(得分:-1)

刷新magento缓存并刷新所有内容