Set condition add item action Magento

magento

Set condition add item action Magento

Trong Magento, để thêm một file css hay js vào một handle nào đó chúng ta cỏ thể gọi trong XML layout bằng cách.

Đối với file css:

<action method=”addItem”><type>skin_css</type><name>css/abc/file.css</name></action>

Hoặc:  <action method=”addCss”><stylesheet>css/file.css</stylesheet></action>

Đối với file js:

<action method=”addItem”><type>skin_js</type><name>js/file.js</name><params/></action>

Hoặc: (file js đặt trong thư mục root/js)

<action method=”addJs”><script>file.js</script></action>

Để thêm điều kiện khi load file chúng ta làm theo cách sau:

Cách 1: Sử dụng ifconfig

<reference name="head">
       <action method="addItem" ifconfig="module/general/enable"><type>skin_js</type><name>js/file.js</name><params/></action>
       <action method="addItem" ifconfig="module/general/enable"><type>skin_css</type><name>css/abc/file.css</name></action>
</reference>

 

  • Ifconfig ở đây là giá trị true hoặc false của option trong admin. Giá trị này được lưu trong table core_config_data. Và action sẽ thực hiện nếu ifconfig  true.

Trong ví dụ trên:  Nếu module/general/enable là enable thì file js và css sẽ được load.

 

Cách 2: Sử dụng helper

Trong cách này  ta sẽ viết function gọi file trong helper và thực hiện hàm đó trong XML layout.

1. Trong helper/data.php:

class Company_Module_Helper_Data extends Mage_Core_Helper_Abstract {
  public function loadCss() { 
    if (Mage::getStoreConfig('module/general/enable') ) {
      Mage::app()->getLayout()->getBlock('head')->addItem('skin_css','css/file.css');
    }
  }
}

Trong ví dụ trên Mage::getStoreConfig(‘module/general/enable’) sẽ kiểm tra nếu option ‘module/general/enable’ bằng true sẽ thực hiện lệnh bên dưới.

2. Trong XML layout:

  <reference name="head">
     <action method="addCss"><stylesheet helper="module/data/loadCss" /></action>
  </reference>

 

như vậy file css sẽ được load khi module/general enable là enable.

Ta có thể sử dụng tương tự cách này với js và action setTemplate.

 

Và cuối cùng chúc các bạn code vui vẻ !.

One thought on “Set condition add item action Magento

Comments are closed.