2016-06-15 3 views
2

В настоящее время у меня есть функция в классе контроллера проекта, которую я вызываю, чтобы экспортировать конкретный проект в pdf. У меня возникают проблемы, когда я пытаюсь передать ту страницу одного проекта, из которой я выхожу. Если я вызываю функцию из своего представления и передаю строку действительного html из моей функции export(), она правильно создаст pdf. Мне просто интересно, как я могу получить его из этого шаблона ctp, чтобы мой контроллер был создан как pdf. Благодарю.CakePHP 3+ issue with DomPdf

В моей ProjectsController.php

public function view($id) 
{ 
    $creator = $this->Auth->user(); 
    $project = $this->Projects->get($id, [ 
     'contain' => [ 
      'Countries', 'Languages', 'Tags', 
      'ProjectsLanguages', 'Students' 
     ] 
    ]); 
    $languages = $this->__getLanguageReqs($id); 
    $tags = $this->__getTagReqs($id); 
    $projSupervisors = $this->__getSupervisorsProjects($id); 
    $this->set('locations',$this->__getLocations($id,"project")); 

    $this->set('projSupervisors',$projSupervisors); 
    if($creator['role_id'] == 2){ 
     $this->set('is_owner',in_array($creator['id'],array_keys($projSupervisors))); 
    } 
    else{ 
     $this->set('is_owner', false); 
    } 
    $this->set('languages',$languages); 
    $this->set('tags',$tags); 
    $this->set('project', $project); 
    $this->set('_serialize', ['project']); 

} 
public function export($id = null) { 
    $dompdf = new Dompdf(); 
    $dompdf->loadHtmlFile('/projects/view/' . $id); 
    $dompdf->render(); 
    $dompdf->output(); 
    $dompdf->stream('project'); 
} 

В моей view.ctp

<button class = 'project_edit' onclick = "location.href='/projects/export/<?= h($project->id) ?>'">Export this Project</button> 

Update

я разобрался. Настроил новый .ctp с той же информацией из моего view.ctp и назвал экспорт там с заполненными данными в php-скрипте в конце моего файла.

ответ