Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/05/2014, 01:31
Avatar de madman_18
madman_18
 
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Exclamación Problema en la zona admin de magento

Buenas!!!

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
  1. class Mdg_Giftregistry_Block_Adminhtml_Customer_Edit_Tab_Giftregistry extends Mage_Adminhtml_Block_Template implements Mage_Adminhtml_Block_Widget_Tab_Interface {    
  2.     public function __construct(){    
  3.         $this->setTemplate('mdg/giftregistry/customer/main.phtml');  
  4.         //parent::_construct();    
  5.         parent::__construct();    
  6.     }      
  7.     public function getCustomerId(){
  8.         return Mage::registry('current_customer')->getId();            
  9.     }      
  10.     public function getTabLabel(){        
  11.         return $this->__('GiftRegistry List');            
  12.     }      
  13.     public function getTabTitle(){
  14.         return $this->__('Click to view the customer Gift Registries');    
  15.     }  
  16.     public function canShowTab(){    
  17.         return true;  
  18.     }  
  19.     public function isHidden(){    
  20.         return false;  
  21.     }
  22. }

app/code/local/Mdg/Giftregistry/Block/Adminhtml/Registries/Edit/Form.php
Código PHP:
Ver original
  1. class Mdg_Giftregistry_Block_Adminhtml_Registries_Edit_Form extends Mage_Adminhtml_Block_Widget_Form{            
  2.    
  3.     protected function _prepareForm(){    
  4.        $form = new Varien_Data_Form(array(
  5.             'id' => 'edit_form',
  6.             'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
  7.             'method' => 'post',        
  8.             'enctype' => 'multipart/form-data'        
  9.        ));    
  10.         $form->setUseContainer(true);    
  11.         $this->setForm($form);  
  12.        
  13.         if (Mage::getSingleton('adminhtml/session')->getFormData()){  
  14.             $data = Mage::getSingleton('adminhtml/session')->getFormData();  
  15.             Mage::getSingleton('adminhtml/session')->setFormData(null);      
  16.        }elseif(Mage::registry('registry_data')){
  17.            $data = Mage::registry('registry_data')->getData();  
  18.        }
  19.              
  20.        $fieldset = $form->addFieldset('registry_form', array('legend'=>Mage::helper('mdg_giftregistry')->__('Gift Registry information')));        
  21.        $fieldset->addField('type_id', 'text', array('label'=> Mage::helper('mdg_giftregistry')->__('Registry Id'),'class'=> 'required-entry','required'  => true,'name'=> 'type_id',));
  22.        $fieldset->addField('website_id', 'text', array('label'=> Mage::helper('mdg_giftregistry')->__('Website Id'),'class'=> 'required-entry','required'=> true,'name'=> 'website_id',));
  23.        $fieldset->addField('event_location', 'text', array('label' => Mage::helper('mdg_giftregistry')->__('Event Location'),'class'=> 'required-entry','required'  => true,'name'=> 'event_location',));
  24.        $fieldset->addField('event_date', 'text', array('label'=> Mage::helper('mdg_giftregistry')->__('Event Date'),'class'=> 'required-entry', 'required'  => true,'name'=> 'event_date',));      
  25.        $fieldset->addField('event_country', 'text', array('label'=> Mage::helper('mdg_giftregistry')->__('Event Country'),'class'=> 'required-entry','required'  => true,'name'=> 'event_country',));
  26.        $form->setValues($data);
  27.        return parent::_prepareForm();
  28.     }    
  29. }

Y el fichero de configuración en app/code/design/adminhtml/default/default/layout/giftregistry.xml

Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <layout version="0.1.0">
  3.     <adminhtml_customer_edit>        
  4.         <reference name="left">            
  5.             <reference name="customer_edit_tabs">                
  6.                 <block type="mdg_giftregistry/adminhtml_customer_edit_tab_giftregistry" name="tab_giftregistry_main" template="mdg/giftregistry/customer/main.phtml">                    
  7.                     <block type="mdg_giftregistry/adminhtml_customer_edit_tab_giftregistry_list" name="tab_giftregistry_list" as="giftregistry_list" />                
  8.                 </block>                
  9.                 <action method="addTab">                    
  10.                     <name>mdg_giftregistry</name>                    
  11.                     <block>mdg_giftregistry/adminhtml_customer_edit_tab_giftregistry</block>                
  12.                 </action>            
  13.             </reference>        
  14.         </reference>    
  15.     </adminhtml_customer_edit>
  16.     <adminhtml_giftregistry_index>
  17.         <reference name="content">              
  18.             <block type="mdg_giftregistry/adminhtml_registries" name="registries" />          
  19.         </reference>      
  20.     </adminhtml_giftregistry_index>    
  21.     <adminhtml_giftregistry_edit>        
  22.         <reference name="content">            
  23.             <block type="mdg_giftregistry/adminhtml_registries_edit" name="new_registry_tabs" />        
  24.         </reference>    
  25.     </adminhtml_giftregistry_edit>  
  26. </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!
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"