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

问题描述 投票:4回答:6

当我试图通过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编辑器中查看图像

magento wysiwyg
6个回答
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中检查了此设置,并根据生成的静态链接或动态链接。


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);

0
投票

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

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

  • php.ini中
  • apache配置
  • vhost配置
  • .htaccess文件

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

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

php_admin_value allow_url_fopen on

0
投票

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

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

/skin/adminhtml/default/THEME/images/wysiwyg/skin_image.png

skin images placeholder for TinyMCE


-1
投票

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


-1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.