Mostrar atributos en CMS

spok01

Nuevo usuario
Pues una solucion (No lo eh probado en CMS pero si en el catalogo) es insertar en el archivo de tu theme /app/design/frontend/default/THEME/layout/cms.xml

esta linea:
Insertar CODE, HTML o PHP:
<action method="addAttribute"><attribute>TU-ATRIBUTO</attribute></action>
Pues creo que en esta parte:

Insertar CODE, HTML o PHP:
    <cms_page>
        <reference name="content">
            <action method="addAttribute"><attribute>TU-ATRIBUTO</attribute></action>
            <block type="cms/page" name="cms_page"/>
        </reference>
    </cms_page>
y la linea para llamar al atributo es:

Insertar CODE, HTML o PHP:
<?php echo $_product->getResource()->getAttribute('TU-ATRIBUTO')->getFrontend()->getValue($_product) ?>
Prueba y me cuentas
 

zaira

Miembro
:(

Me sale el siguiente error :

Invalid method Mage_Core_Block_Text_List::addAttribute(Array
(
[0] => manufacturer
)
)
Trace:
#0 [internal function]: Varien_Object->__call('addAttribute', Array)
#1 [internal function]: Mage_Core_Block_Text_List->addAttribute('manufacturer')
#2 /docroot/camarasreflex/app/code/core/Mage/Core/Model/Layout.php(338): call_user_func_array(Array, Array)
#3 /docroot/camarasreflex/app/code/core/Mage/Core/Model/Layout.php(204): Mage_Core_Model_Layout->_generateAction(Object(Mage_Core_Model_Layout_Element), Object(Mage_Core_Model_Layout_Element))
#4 /docroot/camarasreflex/app/code/core/Mage/Core/Model/Layout.php(200): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element))
#5 /docroot/camarasreflex/app/code/core/Mage/Core/Controller/Varien/Action.php(295): Mage_Core_Model_Layout->generateBlocks()
#6 /docroot/camarasreflex/app/code/core/Mage/Cms/Helper/Page.php(76): Mage_Core_Controller_Varien_Action->generateLayoutBlocks()
#7 /docroot/camarasreflex/app/code/core/Mage/Cms/controllers/IndexController.php(32): Mage_Cms_Helper_Page->renderPage(Object(Mage_Cms_IndexController), 'home')
#8 /docroot/camarasreflex/app/code/core/Mage/Core/Controller/Varien/Action.php(367): Mage_Cms_IndexController->indexAction()
#9 /docroot/camarasreflex/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(247): Mage_Core_Controller_Varien_Action->dispatch('index')
#10 /docroot/camarasreflex/app/code/core/Mage/Core/Controller/Varien/Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#11 /docroot/camarasreflex/app/Mage.php(457): Mage_Core_Controller_Varien_Front->dispatch()
#12 /docroot/camarasreflex/index.php(52): Mage::run()
#13 {main}
 

spok01

Nuevo usuario
Ups, al parecer no funciona como pense XD

Date una vuelta por este post: Link

Ahi esta explicado y probado sobre el listado de productos de magento.
 
Última edición por un moderador:

Damian Culotta

Nuevo usuario
@zaira

No se si te va a servir, no lo he probado con bloques, pero cuando se trata de páginas, podés probar de la siguiente forma.

PHP:
<?php
$page = Mage::app()->getFrontController()->getRequest()->getRouteName();
 
if ($page == 'cms'):
    echo Mage::getSingleton('cms/page')->getTitle();
endif;
?>
En este ejemplo, primero detectás si estás en una página del tipo cms. Luego, sabiendo que es así, pedís valores de la página. En este caso se obtiene el title, pero podrías leer el identifier u otro.

Saludos.
 
Arriba