15

私は次のコントローラーを持っていますが、他の方法の中でも、これがあります:

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

4

3 に答える 3

23

これをコントローラー内に追加します。

public function preDispatch(){
        $this->_helper->layout()->disableLayout(); 
        $this->_helper->viewRenderer->setNoRender(true);
    }
于 2012-11-16T09:38:28.033 に答える
5

これはあなたの質問に直接答えないかもしれませんが (とにかく解決したようです)、レイアウトを無効にして AJAX リクエストに別のビューを提供するには、AjaxContextアクション ヘルパーの使用を検討してください。

于 2010-11-29T02:45:23.020 に答える