it-swarm.com.de

Zend - Wie deaktiviere ich das Layout für eine bestimmte Aktion?

Ich habe den folgenden Controller, der unter anderem über diesen verfügt:

class EquipasController extends OccControllerAction {

    public function listaAction()
    {    
        $this->_helper->viewRenderer->setNoRender(true);
        $this->_helper->layout->disableLayout();
    }
}

Ich habe das erwartet, als ich es tue: http://www.example.com/equipas/lista/

der Controller wird ausgeführt und in meinem Ansichtsfenster wird kein Layout-Rendering angezeigt.

Dies ist jedoch nicht der Fall. Ich bekomme meine Homepage gerendert.

Wo auf ZF sagen wir normalerweise: Wenn eine Aktion nicht existiert, sollte eine Homepage erscheinen?

Hinweis: Wenn anstelle von: http://www.example.com/equipas/lista/

Ich mache, http://www.example.com/equipas/adasdas21232131/ das nicht existiert.

Ich erhalte das gleiche Homepage-Rendering.

Was könnte die Ursache für ein solches Verhalten sein?

Ein Zend Newbie, MEM

15
MEM

Dies kann Ihre Frage möglicherweise nicht direkt beantworten (was Sie scheinbar trotzdem gelöst haben). Wenn Sie jedoch das Layout deaktivieren und eine andere Ansicht für AJAX -Anfragen bereitstellen möchten, sollten Sie den Aktionshelfer AjaxContext verwenden.

5
Phil

Fügen Sie dies in Ihrem Controller hinzu:

public function preDispatch(){
        $this->_helper->layout()->disableLayout(); 
        $this->_helper->viewRenderer->setNoRender(true);
    }
22
liding

in zf2 

 public function indexAction()
    {    
        echo "json"
        return $this->getResponse();
    }