2013-05-15 3 views
3

Я создал следующее действие, которое успешно возвращает CSV. однако он все равно возвращает макет в ответ. Из того, что я прочитал, макет не должен быть возвращен. aNoneone знаете, как отключить это?Zend 2 CSV Action

public function csvAction() { 

    $content = 'test'; 
    $response = $this->getResponse(); 

    $response->getHeaders() 
      ->addHeaderLine('Content-Type', 'text/csv') 
      ->addHeaderLine('Content-Disposition', "attachment; filename=\"my_filen.csv\"") 
      ->addHeaderLine('Accept-Ranges', 'bytes') 
      ->addHeaderLine('Content-Length', strlen($content)); 

    $response->setContent($content); 

    return $response; 
} 
+0

Я проверил ваш код в одном из моих контроллеров (от ZendSkeletonApp), и она работает, как ожидалось. В вашей настройке может быть некорректная конфигурация. –

+0

, возвращающий объект ответа внутри вашего действия, перебирает процесс и не отображает макет, что-то должно быть выше, чем указано выше. – Andrew

+0

Посмотрите на свой конфигурационный массив вида ... что-то не так. –

ответ

-1

Попробуйте добавить их в начале вашей функции csvAction:

$this->_helper->layout()->disableLayout(); 
$this->_helper->viewRenderer->setNoRender(); 
+0

Это решение для ZF1, а не ZF2 –