Witam Was, mam taki mały problem.

Mam ustawiony ErrorController a w nim taki kod wycinek
  1. switch ($errors->type) {
  2. case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE:
  3. case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
  4. case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
  5.  
  6.  
  7. // 404 error -- controller or action not found
  8. $this->getResponse()->setHttpResponseCode(404);
  9. $this->view->message = 'Strony nie odnaleziono';
  10. break;


I teraz chciałem ErrorController rozszerzyć o obsługę innych błędów

Na razie zrobiłem tak chociaż nie jestem przekonany do tego rozwiązania chodzi mi o obsługę błędu typu
  1. Message: script 'index/misio.html' not found in path (C:/.../application/views\scripts/)


Wygląda to tak
  1. case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER:
  2. $class = get_class($errors->exception);
  3. echo $class;
  4. switch ($class){
  5. case 'Zend_View_Exception':
  6. $this->view->message = 'Nieprawidłowa podstrona';
  7. break;
  8. }


Czy jest jakiś sensowniejszy sposób na obsługę tego ?
Tak samo robiłem z bazą
  1. public function addEmailSender($data){
  2. $table_email = new sendemail();
  3. $data_email = array(.....);
  4.  
  5. try {
  6. $table_email->insert($data_email);
  7. return true;
  8. } catch (Zend_Db_Exception $e) {
  9. $db_adapter = Zend_Db_Table::getDefaultAdapter();
  10. $columnMapping = array('priority' => 'priority', 'message' => 'message',
  11. 'timestamp' => 'timestamp'
  12. );
  13.  
  14. $log_db = Zend_Log_Writer_Db::factory(array(
  15. 'db'=> $db_adapter,
  16. 'table' => 'log',
  17. 'columnMap' => $columnMapping
  18. ));
  19. $logger = new Zend_Log($log_db);
  20. $logger->log($e->getMessage(), 3);
  21. return false;
  22.  
  23. }
  24.  


I fajnie by to też można było jakoś przenieść do errorControllera albo informacje o błędzie.

Mam nadzieję, że w miarę jasno to wytłumaczyłem.

Pozdrawiam
Oskar