无法通过Magento Cms wysiwyg编辑器添加图像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法通过Magento Cms 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编辑器中查看图像
问题是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 Catalog
到Yes
我发现在180行(在Magento 1.7.0.2中)的/app/code/core/Mage/Cms/Helper/WYSIWYG/Images.php
中检查了此设置,并根据生成的静态链接或动态链接。
这是一个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);
您是否检查过此服务器上是否启用了allow_url_fopen?今天我遇到了同样的问题,并且修改了这个问题。
有几种方法可以改变这种情况:
- php.ini中
- apache配置
- vhost配置
- .htaccess文件
您必须选择适合您的网络服务器设置的最佳方式。
我修改了我的Apache VirtualHost配置文件以修复它:
php_admin_value allow_url_fopen on
编辑包含skin文件夹中的图像的cms页面时发生异常。因为当我们使用自定义管理主题时,占位符图像在adminhtml TinyMCE中不可用。
修复:将占位符图像从adminhtml / default / default /复制到自定义主题,它将停止这样的异常。
/skin/adminhtml/default/THEME/images/wysiwyg/skin_image.png
我有类似的问题。解决方案是创建folder / media / wysiwyg
刷新您的magento缓存并刷新所有内容
以上是关于无法通过Magento Cms wysiwyg编辑器添加图像的主要内容,如果未能解决你的问题,请参考以下文章
Magento - 如何在 Magento 的 CMS 编辑器中允许某些标签(iframe、嵌入)?
为 Magento 1.9 CMS 安装 facebook 登录