2017-11-23 3 views
0

Typo3 용 extbase 확장을 작성하여 pdfviewhelpers를 사용하여 웹 사이트에서 pdf를 만들 수있었습니다.조치로 유체에 링크 추가

컨트롤러에서이 정의 동작을 달성했으며 매우 간단했습니다.

이제 Extension "tx_news"를 사용하여이 작업을 수행하려고합니다. 나는 모든 것을 내 확장 기능과 비교하고 컨트롤러에 액션을 추가하고 템플릿을 수정했지만 pdf 파일을 만들 수는 없습니다.

유체 링크는 다음과 같습니다

<f:link.action action="pdf" arguments="{news:newsItem}" class="btn btn-expose" target="_blank">PDF</f:link.action> 

이 같은 NewsController.php의 클래스 :

** 
* action pdf 
* 
* @param \GeorgRinger\News\Domain\Model\News $news 
* @return void 
*/ 
public function pdfAction(\GeorgRinger\News\Domain\Model\News $news = null){ 
     $demand = $this->createDemandObjectFromSettings($this->settings); 
     $demand->setActionAndClass(__METHOD__, __CLASS__); 

     $assignedValues = [ 
      'newsItem' => $news, 
      'currentPage' => (int)$currentPage, 
      'demand' => $demand, 
     ]; 

     $assignedValues = $this->emitActionSignal('NewsController', self::SIGNAL_NEWS_PDF_ACTION, $assignedValues); 
     $this->view->assignMultiple($assignedValues); 

     Page::setRegisterProperties($this->settings['pdf']['registerProperties'], $news); 
     if (!is_null($news) && is_a($news, 'GeorgRinger\\News\\Domain\\Model\\News')) { 
      Cache::addCacheTagsByNewsRecords([$news]); 
     } 
} 

누군가가이 작동하지 왜 힌트를 가지고?

가 BTW : 나는 원래 코드에서 주위를 혼란에 좋은 생각이 아니다 알고, 당신이 또한 pluginName, extensionName, controller 그리고 만약을 완료해야 다른 확장자를 가리키는 링크를 생성하기위한 단지 4 재미

+1

오류를 찾으셨습니까? –

답변

0

입니다 pageUid (플러그인이있는 페이지)이 필요했습니다.

<f:link.action action="pdf" controller="News" pluginName="pi1" extensionName="news" arguments="{news: newsItem}">Generate pdf</f:link.action>