Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework] - proste pytanie o Widok/Controler
ednet
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 28.06.2005

Ostrzeżenie: (0%)
-----


Ucze się Zend Framework na podstawie tutoriala http://www.heavymind.net/zend-framework-tutorial/.

Wszystko dziala OK, ale jak dodam nowy kontroler i w nim jakieś akcje np nicAction to pokazuje sie błąd:
  1. Uncaught exception 'Zend_View_Exception' with message 'script 'foto/nic.phtml' not found in path (.\application\views\scripts\)' in D:\xampp\htdocs\zf\library\Zend\View\Abstract.php:857
  2. Stack trace:
  3. #0 D:\xampp\htdocs\zf\library\Zend\View\Abstract.php(765): Zend_View_Abstract->_script('foto/nic.phtml')
  4. #1 D:\xampp\htdocs\zf\library\Zend\Controller\Action\Helper\ViewRenderer.php(895): Zend_View_Abstract->render('foto/nic.phtml')
  5. #2 D:\xampp\htdocs\zf\library\Zend\Controller\Action\Helper\ViewRenderer.php(916): Zend_Controller_Action_Helper_ViewRenderer->renderScript('foto/nic.phtml', NULL)
  6. #3 D:\xampp\htdocs\zf\library\Zend\Controller\Action\Helper\ViewRenderer.php(955): Zend_Controller_Action_Helper_ViewRenderer->render()
  7. #4 D:\xampp\htdocs\zf\library\Zend\Controller\Action\HelperBroker.php(161): Zend_Controller_Action_Helper_ViewRenderer->postDispatch()
  8. #5 D:\xampp\htdocs\zf\library\Zend\Controller\Action.php(512): Zend_Controller_Action_HelperBroker->notifyPostDispatch()
  9. #6 D:\xampp\htdocs\zf\library\Zend\C in <b>D:\xampp\htdocs\zf\library\Zend\View\Abstract.php</b> on line <b>857</b><br />


Po prostu brakuje pliku z widokiem dla tej metody. Zrozumiałe.
Wiadomo jednak że nie kazda metoda wymaga wlasnego widoku i tu moje pytanie.

Jak można zmusić ten framework aby nie szukal dla kazdej metody przypisanego widoku?
Pomaga dodanie w pliku index.php linii:

$frontController->setParam('noViewRenderer', true);

Czy jest inny sposób?

Ed
Go to the top of the page
+Quote Post
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Ja napisałem sobie własny kontroler dziedziczący po Zend_Controller_Action. Zdefiniowałem w nim dodatkową metodę:
  1. <?php
  2. protected function disableRendering() {
  3.    $this->_helper->layout->disableLayout();
  4.    $this->_helper->viewRenderer->setNoRender();
  5. }
  6. ?>

Następnie wszystkie moje kontrolery dziedziczą po nim i w akcji, które są wywoływane poprzez Ajax, wywołuje tą metodę i mam sprawę załatwioną (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tomek_
post
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 4
Dołączył: 6.11.2008
Skąd: Bytom

Ostrzeżenie: (0%)
-----


ja nie tyle w pliku index a w konkretnych akcjach które nie mają renderować widoku dodaje

Kod
$front = Zend_Controller_Front::getInstance();
$front->setParam('noViewRenderer', true);


a jeśli chce żeby był wyrenderowany inny widok niż taki jak nazwa akcji daję 

Kod
$this->render('nazwa_pliku_widoku');
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 08:29