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


7

Là các mã sau trong phtml $this->helper('catalog/category')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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.