Potrzebuję pomocy w zapoznaniu się z pomocnikami, ich metodami i atrybutami produktu. Konkretnie: $_helper->productAttribute($product, $attributeHtml, $attributeName)
Potrzebujesz pomocy Zrozumienie metody productAttribute() dla stron produktów
Oto pliki używam/Oceniasz:
app\code\core\Mage\catalog\helper\output.php
app\design\frontend\[theme name]\template\catalog\product\view\media.phtml
Poniższy wiersz kodu generuje HTML dla wizerunku produktu.
echo $_helper->productAttribute($_product, $_img, 'image');
Kod klasy pomocnika opisuje metodę z następujących fragmentów kodu. Co jest zwracane, jakie są kroki i dlaczego powinienem użyć tej metody zamiast po prostu echo haseł img opisanych w poprzedniej linii pliku szablonu?
public function getHandlers($method)
{
$method = strtolower($method);
return isset($this->_handlers[$method]) ? $this->_handlers[$method] : array();
}
public function process($method, $result, $params)
{
foreach ($this->getHandlers($method) as $handler) {
if (method_exists($handler, $method)) {
$result = $handler->$method($this, $result, $params);
}
}
return $result;
}
public function productAttribute($product, $attributeHtml, $attributeName)
{
/* Code that is not relevant to this example */
$attributeHtml = $this->process('productAttribute', $attributeHtml, array(
'product' => $product,
'attribute' => $attributeName
));
return $attributeHtml;
}
Każda pomoc jest doceniana.
Możliwe jest dodawanie procedur obsługi, a te procedury obsługi są wykonywane. Nie możesz debugować, aby zobaczyć, co więcej się dzieje? Może to być abstrakcyjny sposób, który może być bardziej przydatny dla innych elementów :) – EricG
Doskonała sugestia. Wciąż szukam skutecznego sposobu debugowania dla Magento i jestem otwarty na sugestie. Co do abstrakcyjnego sposobu, ma to sens. Kroki w tym, co się dzieje, również zostaną docenione. :) – MSD
Google Chrome ma doskonały debugger. Otwórz inspektora (Ctrl-Shift-J) i przejdź do Źródła. Możesz użyć Ctrl-Shift-F, aby wyszukać we wszystkich źródłach. Lub otwórz ręcznie src i ustaw punkt przerwania. Następnie przejdź przez to :) – EricG