Mostrar atributos e...
 
Avisos
Vaciar todo

Mostrar atributos en CMS

5 Respuestas
3 Usuarios
0 Me gustas
2,887 Visitas
(@zaira)
Respuestas: 103
Estimable Member
Topic starter
 

Pues eso ... como puedo hacer que me aparezcan los atributos que quiera en un block de un cms ???

Aunque añada el código <?php echo $_product->getNombreAtributo()?> en la plantilla phtml, no me los muestra 🙁

Muchas gracias,
Zair.

www.utensilioscocina.es
www.paraguas.es

 
Respondido : 08/05/2009 4:19 pm
(@spok01)
Respuestas: 62
Trusted Member
 

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:

<action method="addAttribute"><attribute>TU-ATRIBUTO</attribute></action>

Pues creo que en esta parte:

    <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:

<?php echo $_product->getResource()->getAttribute('TU-ATRIBUTO')->getFrontend()->getValue($_product) ?>

Prueba y me cuentas

 
Respondido : 08/05/2009 5:53 pm
(@zaira)
Respuestas: 103
Estimable Member
Topic starter
 

🙁

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}

www.utensilioscocina.es
www.paraguas.es

 
Respondido : 09/05/2009 9:34 am
(@spok01)
Respuestas: 62
Trusted Member
 

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.

 
Respondido : 09/05/2009 12:55 pm
(@damian-culotta)
Respuestas: 454
Reputable Member
 

@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
$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.

Damián Culotta
Blog http://www.damianculotta.com.ar/

 
Respondido : 09/05/2009 5:37 pm