Unterschied zwischen $ this-> helper und Mage :: helper


7

Befindet sich der folgende Code in der HTML-Datei $this->helper('catalog/category')und Mage::helper('catalog/category')gibt dasselbe Objekt zurück?

Was bedeutet es, $this->helper()und zu verwenden Mage::helper()?

Antworten:


12

Grundsätzlich $this->helperruft das die Funktion auf, die in der Blockklasse der aktuellen Vorlage enthalten ist. Das Mage::helperruft die Funktion in der Klasse "Gott" auf.

Die $this->helpernormalerweise ruft eine Funktion in der Klasse , Mage_Core_Block_Abstractdie das Layout für einen Helfer prüft und ruft dann einfach die normale , Mage::helperwenn sie nicht finden können.

/**
 * 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);
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.