当管理员将图像添加到 Magento 中的 cms 页面,然后调整图像大小时:然后前端的图像保留其原始大小,但已缩放。
保存页面时是否有任何解决方案可以将图像保存为较小的尺寸?
当管理员将图像添加到 Magento 中的 cms 页面,然后调整图像大小时:然后前端的图像保留其原始大小,但已缩放。
保存页面时是否有任何解决方案可以将图像保存为较小的尺寸?
任何默认的magento都不会发生这种情况。但是,您可以组合一个模块来观察您的 cms 页面保存的数据。以这个事件为例:
cms_page_prepare_save
带参数:
array(’page’ ⇒ $model, ‘request’ ⇒ $this→getRequest())
您可以仅从 3 个文件开始创建模块:
/app/etc/Electricjesus_Cms.xml:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Electricjesus_Cms>
<active>true</active>
<codePool>local</codePool>
</Electricjesus_Cms>
</modules>
</config>
/app/code/local/Electricjesus/Cms/etc/config.xml:
<?xml version="1.0"?>
<config>
<modules>
<Electricjesus_Cms>
<version>0.1.0</version>
</Electricjesus_Cms>
</modules>
<global>
<models>
<cms>
<class>Electricjesus_Cms_Model</class>
</cms>
</models>
<events>
<cms_page_prepare_save>
<observers>
<prepareSave>
<class>cms/observer</class>
<method>prepareSave</method>
</prepareSave>
</observers>
</cms_page_prepare_save>
</events>
</global>
</config>
/app/code/local/Electricjesus/Cms/Model/Observer.php:
<?php
class Electricjesus_Cms_Model_Observer {
function prepareSave ( $observer ) {
$request = $observer->getRequest();
$params = $request->getParams();
// scan the request and params for stuff related with the images..
// find out scaling and pass into a good resizer like TimThumb or
// Zend_Filter_ImageSize etc.
}
}
虽然上述答案并不完整,但这是一个很好的起点。每当我有更多时间时,我都会尝试开发一个完整的解决方案。
替代方法:
由于我在上面提到了TimThumb,您还可以在您的 magento 根目录中部署它,并开始通过 HTML 编辑器而不是通常的 WYSIWYG 编辑器添加您的图像。如果在您的网站根目录上安装 thumb.php,您可以像这样使用它:
<img src="/thumb.php?src=images/image.jpg&w=100&h=50" alt="Hey" />
祝你好运!