如何在cms Magento中缩放图像



当管理员将图像添加到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" />

祝你好运!

最新更新