Espero que alguno haya tocado Magento y me sepa ayudar....porque estoy que no encuentro la solución a lo que me pasa.
Veréis, siguiendo un libro que he encontrado para desarrolladores de Magento estoy siguiendo sus pasos para crear un plugin (el que te viene en el libro) pero me estoy topando con un error a la hora de añadirlo a la zona de administración.
Mi problema viene en el fichero que me generaría un form para poder editar ciertos valores. Según el libro necesito varias cosas:
Fichero : app/code/local/Mdg/Giftregistry/Block/Adminhtml/Registries/Edit.php
Código PHP:
Ver original
class Mdg_Giftregistry_Block_Adminhtml_Customer_Edit_Tab_Giftregistry extends Mage_Adminhtml_Block_Template implements Mage_Adminhtml_Block_Widget_Tab_Interface { public function __construct(){ $this->setTemplate('mdg/giftregistry/customer/main.phtml'); //parent::_construct(); parent::__construct(); } public function getCustomerId(){ return Mage::registry('current_customer')->getId(); } public function getTabLabel(){ return $this->__('GiftRegistry List'); } public function getTabTitle(){ return $this->__('Click to view the customer Gift Registries'); } public function canShowTab(){ return true; } public function isHidden(){ return false; } }
app/code/local/Mdg/Giftregistry/Block/Adminhtml/Registries/Edit/Form.php
Código PHP:
Ver original
class Mdg_Giftregistry_Block_Adminhtml_Registries_Edit_Form extends Mage_Adminhtml_Block_Widget_Form{ protected function _prepareForm(){ 'id' => 'edit_form', 'method' => 'post', 'enctype' => 'multipart/form-data' )); $form->setUseContainer(true); $this->setForm($form); if (Mage::getSingleton('adminhtml/session')->getFormData()){ $data = Mage::getSingleton('adminhtml/session')->getFormData(); Mage::getSingleton('adminhtml/session')->setFormData(null); }elseif(Mage::registry('registry_data')){ $data = Mage::registry('registry_data')->getData(); } $fieldset = $form->addFieldset('registry_form', array('legend'=>Mage::helper('mdg_giftregistry')->__('Gift Registry information'))); $fieldset->addField('type_id', 'text', array('label'=> Mage::helper('mdg_giftregistry')->__('Registry Id'),'class'=> 'required-entry','required' => true,'name'=> 'type_id',)); $fieldset->addField('website_id', 'text', array('label'=> Mage::helper('mdg_giftregistry')->__('Website Id'),'class'=> 'required-entry','required'=> true,'name'=> 'website_id',)); $fieldset->addField('event_location', 'text', array('label' => Mage::helper('mdg_giftregistry')->__('Event Location'),'class'=> 'required-entry','required' => true,'name'=> 'event_location',)); $fieldset->addField('event_date', 'text', array('label'=> Mage::helper('mdg_giftregistry')->__('Event Date'),'class'=> 'required-entry', 'required' => true,'name'=> 'event_date',)); $fieldset->addField('event_country', 'text', array('label'=> Mage::helper('mdg_giftregistry')->__('Event Country'),'class'=> 'required-entry','required' => true,'name'=> 'event_country',)); $form->setValues($data); return parent::_prepareForm(); } }
Y el fichero de configuración en app/code/design/adminhtml/default/default/layout/giftregistry.xml
Código XML:
Ver original
<?xml version="1.0" encoding="UTF-8"?> <layout version="0.1.0"> <adminhtml_customer_edit> <reference name="left"> <reference name="customer_edit_tabs"> <block type="mdg_giftregistry/adminhtml_customer_edit_tab_giftregistry" name="tab_giftregistry_main" template="mdg/giftregistry/customer/main.phtml"> <block type="mdg_giftregistry/adminhtml_customer_edit_tab_giftregistry_list" name="tab_giftregistry_list" as="giftregistry_list" /> </block> <action method="addTab"> <name>mdg_giftregistry</name> <block>mdg_giftregistry/adminhtml_customer_edit_tab_giftregistry</block> </action> </reference> </reference> </adminhtml_customer_edit> <adminhtml_giftregistry_index> <reference name="content"> <block type="mdg_giftregistry/adminhtml_registries" name="registries" /> </reference> </adminhtml_giftregistry_index> <adminhtml_giftregistry_edit> <reference name="content"> <block type="mdg_giftregistry/adminhtml_registries_edit" name="new_registry_tabs" /> </reference> </adminhtml_giftregistry_edit> </layout>
Funciona todo bien salvo cuando entro en editar algún registro, siempre me arroja un error diciendo que el bloque no es válido, haciendo referencia al form. Pero no me saca ningún otro error ni nada más...específico que me permita ir depurando
Si alguno me puede echar una mano lo agradezco! Saludos!