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()?
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:
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);
}