【问题标题】:How to scale image in cms Magento如何在 cms Magento 中缩放图像
【发布时间】:2012-04-30 15:58:19
【问题描述】:

当管理员将图像添加到 Magento 中的 cms 页面,然后调整图像大小时: 那么前端的图像会保留其原始大小,但会进行缩放。

有什么办法可以在保存页面的时候把图片保存成更小的尺寸?

【问题讨论】:

    标签: image magento content-management-system resize


    【解决方案1】:

    任何默认的 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" />
    

    祝你好运!

    【讨论】:

    • 谢谢。我会检查一下。
    猜你喜欢
    • 2013-05-29
    • 2012-03-23
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 2015-01-11
    相关资源
    最近更新 更多