gus_o5
08-24-2009, 05:20 PM
Quiero crear una clase que se extienda de la clase Header cuya finalidad del modulo seria que, con un nombre predefinido en la parte del panel de admin-> cms -> bloques estaticos se cree un bloque en el header...
En sintesis, quiero crear un bloque de contacto fijo que llamandolo con un nombre desde el admin aparezca.
Llegue a hacer algo...
Tengo un contact.php en local/mi-empresa/mi-modulo/Block/
acá sobrecargo la clase Header :
<?php
class Miempresa_Mimodulo_Block_Contacto_Contact extends Mage_Page_Block_Html_Header
{
public function _prepareLayout()
{
return parent::_prepareLayout();
}
public function _construct()
{
return parent::_construct();
$this->setTemplate('Mimodulo/contacto/contact.phtml');
}
}
?>
Ese metodo setTemplate llama a la plantilla de contacto, que contiene lo que quiero que aparezca en ese bloque :
<div class="cabecera-contacto">
<?php echo $this->getChildHtml('cabecera-contacto') ?>
</div>
En el layout lo identifique asi :
<?xml version="1.0"?>
<layout version="0.1.0">
<default>
</reference>
<reference name="header">
<block type="Miempresa_Mimodulo/contacto_contact" name="cabecera" template="Mimodulo/contacto/contact.phtml">
<block type="cms/block" name="cabecera-contacto" >
<action method="setBlockId"><block_id>Cabecera-contacto</block_id></action>
</block>
</block>
</reference>
</default>
</layout>
Y por ultimo, en el Header.phtml llamo al bloque, agregando esto :
<?php echo $this->getChildHtml('cabecera-contacto') ?>
----------------------------------------------------------------
Esto fue + o - lo que entendi como para hacer funcionar el modulito pero no funciona, no me muestra nada ... habilito el profiler de magento y en una linea dice BLOCK : y nada mas
Otra cosa, en admin-> CMS -> Bloques estaticos, al ID del bloque que creo lo llamo "cabecera-contacto" al nombre "Cabecera-contacto"
Seria bunisimo si me ppueden ayudarrr..
GRacias.
:que:
En sintesis, quiero crear un bloque de contacto fijo que llamandolo con un nombre desde el admin aparezca.
Llegue a hacer algo...
Tengo un contact.php en local/mi-empresa/mi-modulo/Block/
acá sobrecargo la clase Header :
<?php
class Miempresa_Mimodulo_Block_Contacto_Contact extends Mage_Page_Block_Html_Header
{
public function _prepareLayout()
{
return parent::_prepareLayout();
}
public function _construct()
{
return parent::_construct();
$this->setTemplate('Mimodulo/contacto/contact.phtml');
}
}
?>
Ese metodo setTemplate llama a la plantilla de contacto, que contiene lo que quiero que aparezca en ese bloque :
<div class="cabecera-contacto">
<?php echo $this->getChildHtml('cabecera-contacto') ?>
</div>
En el layout lo identifique asi :
<?xml version="1.0"?>
<layout version="0.1.0">
<default>
</reference>
<reference name="header">
<block type="Miempresa_Mimodulo/contacto_contact" name="cabecera" template="Mimodulo/contacto/contact.phtml">
<block type="cms/block" name="cabecera-contacto" >
<action method="setBlockId"><block_id>Cabecera-contacto</block_id></action>
</block>
</block>
</reference>
</default>
</layout>
Y por ultimo, en el Header.phtml llamo al bloque, agregando esto :
<?php echo $this->getChildHtml('cabecera-contacto') ?>
----------------------------------------------------------------
Esto fue + o - lo que entendi como para hacer funcionar el modulito pero no funciona, no me muestra nada ... habilito el profiler de magento y en una linea dice BLOCK : y nada mas
Otra cosa, en admin-> CMS -> Bloques estaticos, al ID del bloque que creo lo llamo "cabecera-contacto" al nombre "Cabecera-contacto"
Seria bunisimo si me ppueden ayudarrr..
GRacias.
:que: