All'interno del modello di blocco list.phtml è possibile ottenere il nome della categoria con
<?php echo $this->getLayer()->getCurrentCategory()->getName() ?>
In questo caso la categoria corrente è impostato sullo strato dal catalog/product_list
blocco nella chiamata _getProductCollection()
.
All'interno del contenuto della pagina CMS non c'è modo di sapere per accedere direttamente al nome della categoria.
Da un blocco diverso è possibile coinvolgere maggiormente il nome della categoria. Si può provare
<?php echo Mage::getSingleton('catalog/layer')->getCurrentCategory()->getName() ?>
Naturalmente potrebbe essere il caso che non esiste una categoria attuale potrebbe impostare sull'istanza livello, quindi assicuratevi di controllare che per evitare brutti errori.
In sostanza, se il metodo _beforeToHtml()
del blocco elenco prodotti catalog/product_list
è stato eseguito, la categoria corrente verrà impostata sul livello.
EDIT: Tutto questo è supponendo che si desidera ottenere il nome della categoria senza specificare di nuovo l'ID della categoria. Se non si preoccupano che si può sempre ottenere il nome categoria con
<?php echo Mage::getModel('catalog/category')->load($this->getCategoryId())->getName() ?>
entrambe queste interrompere la pagina e nulla viene emesso, come faccio a impostare il livello corrente? – molleman
questo è l'errore Chiamata a una funzione membro getName() su un oggetto non in magento – molleman
Il livello corrente nel registro viene impostato dal modulo di ricerca del catalogo. Ho aggiornato la risposta per usare 'Mage :: getSingleton ('catalog/layer')', e ho anche aggiunto una spiegazione quando la categoria corrente è impostata sull'istanza del livello. – Vinai