Я использую Zend Framework и генератор шаблонов Smarty в проекте, я новичок в этой работе, а также в ZF и Smarty. Во всяком случае, на действии есть интерактивная ссылка для создания отчета .doc. После нажатия он генерирует файл .doc, используя класс HtmlToDoc следующим способом:
$htmltodoc_instance -> createDoc($body ,
'filename.doc',
TRUE);
/* the last parameter TRUE means: download or save the file. it set the HTTP headers
'Content-type: application/octet-stream' and 'Content-Disposition: attachment;
filename="..."', forcing the browser to open a download dialog for filename.doc
до этого текущее действие было обработано
$this -> view -> obj_to_render = $obj_to_render.
с obj_to_render, помещенным в представление, в то время как $ obj_to_render - это, как правило, отформатированный html-код движка шаблонов Smarty.
Я не знаю, является ли это причиной, но кажется, что это является причиной проблемы: заголовок диалогового окна загрузки .doc каким-то образом переопределяется следующим заголовком рендеринга представления, и поэтому вывод файла .doc не является успешным , Я пытался поставить exit () после вызова метода createDoc (), но это очень помогает. вывод отличается, но он по-прежнему не отображает информацию, которая мне нужна. Кто-нибудь знает, как разделить эти две операции и затем получить правильный выходной файл?
Спасибо!