Là các mã sau trong phtml $this->helper('catalog/category')
và Mage::helper('catalog/category')
trả về cùng một đối tượng?
Ý nghĩa của việc sử dụng $this->helper()
và là Mage::helper()
gì?
Là các mã sau trong phtml $this->helper('catalog/category')
và Mage::helper('catalog/category')
trả về cùng một đối tượng?
Ý nghĩa của việc sử dụng $this->helper()
và là Mage::helper()
gì?
Câu trả lời:
Về cơ bản, việc $this->helper
gọi hàm được chứa bên trong lớp khối của mẫu hiện tại. Đây Mage::helper
là cách gọi hàm trong lớp "Thượng đế".
Bình $this->helper
thường gọi một hàm trong lớp Mage_Core_Block_Abstract
để kiểm tra bố cục cho một trình trợ giúp và sau đó chỉ cần gọi bình thường Mage::helper
nếu nó không thể tìm thấy một hàm.
/**
* Returns helper object
*
* @param string $name
* @return Mage_Core_Block_Abstract
*/
public function helper($name)
{
if ($this->getLayout()) {
return $this->getLayout()->helper($name);
}
return Mage::helper($name);
}