私は次のコントローラーを持っていますが、他の方法の中でも、これがあります:
class EquipasController extends OccControllerAction {
public function listaAction()
{
$this->_helper->viewRenderer->setNoRender(true);
$this->_helper->layout->disableLayout();
}
}
私がそうするとき、私はそれを期待していました: http://www.example.com/equipas/lista/
コントローラが実行され、ビューポートにレイアウトレンダリングが表示されません。
ただし、そうではありません。ホームページをレンダリングします。
ZFのどこで通常言いますか:アクションが存在しない場合、ホームページが表示されますか?
注:次の代わりに:http://www.example.com/equipas/lista/
私はそうします、http://www.example.com/equipas/adasdas21232131/それは存在しません。
同じホームページのレンダリングが表示されます。
そのような行動の原因は何でしょうか?
Zend初心者、MEM
これはあなたの質問に直接答えないかもしれませんが(とにかく解決したようです)、レイアウトを無効にしてAJAXリクエストに対して異なるビューを提供するには、 AjaxContext の使用を検討してください=アクションヘルパー。
これをコントローラー内に追加します。
public function preDispatch(){
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
}
zf2で
public function indexAction()
{
echo "json"
return $this->getResponse();
}