2010-08-18 9 views
5

J'ai créé un module d'administration personnalisé mais je ne peux pas y mettre de contenu, il est toujours vide J'essaie avec un simple code de test, mais rien ne semble fonctionnerLe module d'administration personnalisé de Magento est vide

public function indexAction() 
{ 
    $this->loadLayout(); 

    $this->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('uhmaadmin/contactos.list.phtml')->toHtml()); 
    $this->renderLayout(); 
} 

un dans le .phtml

echo 'hello world'; 

mais n'imprime pas rien, si faire une erreur dans le phtml, le plantage du système, cela signifie que ça devient le fichier, mais ce que je suis-je absent s'il vous plaît, aidez

Répondre

9

La méthode $this->_addContent sur un contrôleur d'administration s'attend à recevoir un objet de blocage.

protected function _addContent(Mage_Core_Block_Abstract $block) 
{ 
    $this->getLayout()->getBlock('content')->append($block); 
    return $this; 
} 

vous passez dans

$this->getLayout()->createBlock('adminhtml/template')->setTemplate('uhmaadmin/contactos.list.phtml')->toHtml() 

qui est une chaîne. Vous le rendez trop tôt. Si vous vérifiez vos logs vous devriez voir un avertissement/une erreur/quelque chose vous disant que l'argument à _addContent est un type inattendu.

Essayez sans la méthode toHtml appel

$this->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('uhmaadmin/contactos.list.phtml')); 
+0

Merci, cela fonctionne, vous enregistrez ma journée, je ne peux pas voter cuz je peux enregistrer et je don'tknow pourquoi, je reçois toujours en erreur dans le dernière étape, je vais vous donner un 10 ... merci encore, mais maintenant maintenant je reçois Appel à une fonction membre setTemplate() sur une erreur non-objet, parce que j'appelle createBlock ('uhmaadmin/template') , mon regard de modèle comme celui-ci Uhma_UhmaAdmin_Block_Template classe étend Mage_Core_Block_Template {} est quelque chose de mal avec mon code? –

Questions connexes