Sự khác biệt giữa $ this-> helper và Mage :: helper


7

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:


12

Về cơ bản, việc $this->helpergọi hàm được chứa bên trong lớp khối của mẫu hiện tại. Đây Mage::helperlà cách gọi hàm trong lớp "Thượng đế".

Bình $this->helperthườ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::helpernế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);
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.