2012-04-19 74 views
4

當管理員將圖像添加到Magento的cms頁面中,然後調整圖像大小時: 然後前端圖像保留其原始大小但縮放。如何在cms中縮放圖像Magento

有沒有解決方案可以在保存頁面時以較小的尺寸保存圖像?

回答

3

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

祝你好運!

+0

Thanx。我會檢查一下。 – sneeky 2012-04-20 08:20:31