2010-09-01 6 views
0

I ont une structure de dossiers comme this et je suis en train de charger le modèle News dans mon contrôleur:problème modèles de chargement avec des modules dans Zend Framework

<?php 
/** 
* Login 
*/ 
class Admin_NewsController extends Zend_Controller_Action { 

    public function preDispatch() { 
     $layout = Zend_Layout::getMvcInstance(); 
     $layout->setLayout('admin'); 
    } 
    public function init() { 
     $this->db = new Application_Admin_Model_DbTable_News(); 
    } 

    public function indexAction() { 

    } 

    public function addAction() { 
     //$this->getHelper('viewRenderer')->setNoRender(); 
     // Calls the Request object 
     $request = $this->getRequest(); 

     if ($request->isPost()) { 
      // Retrieves form data 
      $data = array(
       "new_title" => $request->getParam('txtTitle'), 
       "new_text" => htmlentities($request->getParam('txtNews')), 
       "new_image" => $request->getParam('upName'), 
       "new_published" => 1 
      ); 
      // Inserts in the database 
      if ($this->db->addNews($data)) { 
       $this->view->output = 1; 
      } else { 
       $this->view->output = 0; 
      } 
     } else { 
      $this->view->output = 0; 
     } 

     $this->_helper->layout->disableLayout(); 
    } 
} 

Et mon modèle:

<?php 

class Application_Admin_Model_DbTable_News extends Zend_Db_Table_Abstract 
{ 
    protected $_name = 'news'; 

    public function addNews($data) { 
     $this->insert($data); 
    } 
} 

Bien que j'obtiens cette erreur: alt text

Répondre

1

S En effet, votre classe News appartient au module, son nom doit être Admin_Model_DbTable_News, sans le préfixe Application_.

En savoir plus sur autoloading dans les modules à http://framework.zend.com/manual/en/zend.loader.autoloader-resource.html#zend.loader.autoloader-resource.module

+1

ok, mais maintenant il dit 'Erreur fatale: non found' de Admin_Model_DbTable_News de« classe –

+0

Dois-je utiliser un chargeur automatique? –

+0

La seule chose dont vous avez besoin est que votre module bootstrap étend Zend_Application_Module_Bootstrap comme dans: class News_Bootstrap extends Zend_Application_Module_Bootstrap – Vika

Questions connexes