Dentro de la plantilla de bloque list.phtml se puede obtener el nombre de la categoría con
<?php echo $this->getLayer()->getCurrentCategory()->getName() ?>
En este caso la categoría actual se encuentra en la capa por el bloque catalog/product_list
en la llamada _getProductCollection()
.
Dentro del contenido de la página CMS no hay manera de que sepa de acceder directamente al nombre de la categoría.
Desde un bloque diferente, obtener el nombre de la categoría podría ser más complicado. Puede intentar
<?php echo Mage::getSingleton('catalog/layer')->getCurrentCategory()->getName() ?>
Por supuesto que podría ser el caso de que no existe una categoría actual podría establecer en la instancia de la capa, así que asegúrese de comprobar que para evitar errores feos.
Básicamente, si se ha ejecutado el método de del bloque de lista de productos _beforeToHtml()
, la categoría actual se establecerá en la capa.
EDIT: Todo esto es suponiendo que desea obtener el nombre de la categoría sin especificar el ID de la categoría de nuevo. Si no se preocupan por que siempre se puede obtener el nombre de categoría con
<?php echo Mage::getModel('catalog/category')->load($this->getCategoryId())->getName() ?>
ambos rompen la página y no se emite, ¿cómo definir la capa actual? – molleman
este es el error Llamar a una función miembro getName() en un objeto no en magento – molleman
La capa actual en el registro está establecida por el módulo de búsqueda de catálogo. Actualicé la respuesta para usar 'Mage :: getSingleton ('catalog/layer')' en su lugar, y también agregué una explicación cuando la categoría actual está configurada en la instancia de la capa. – Vinai