当管理员将图像添加到Magento中的cms页面,然后调整图像大小时:然后,前端的图像将保留其原始大小,但会缩放。
保存页面时,是否有任何解决方案可以保存较小尺寸的图像?
任何默认洋红色都不可能发生这种情况。但是,您可以将一个模块放在一起,该模块将观察您的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" />
祝你好运!