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()
?
Grundsätzlich $this->helper
ruft das die Funktion auf, die in der Blockklasse der aktuellen Vorlage enthalten ist. Das Mage::helper
ruft die Funktion in der Klasse "Gott" auf.
Die $this->helper
normalerweise ruft eine Funktion in der Klasse , Mage_Core_Block_Abstract
die das Layout für einen Helfer prüft und ruft dann einfach die normale , Mage::helper
wenn 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);
}