2017-11-23 16 views
0

Typo3用のextbase拡張を作成しました。これはpdfviewhelpersを使ってWebサイトからpdfを作成することができました。アクションで流体にリンクを追加する

私はコントローラーでこの定義アクションを達成しました。これは非常に簡単でした。

今私はエクステンション "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]); 
     } 
} 

誰かがこれが機能していない理由のヒントを持っていますか?

はところで:私はそれが元のコードで周りの混乱にはお勧めできません知っている、それは、あなたがpluginNameを完了する必要があり、別の拡張子、extensionNameを指すリンクを作成するためのちょうど4楽しい

+1

エラーを報告しますか? –

答えて

0

controllerともあればpageUid(プラグインがあるページ)が必要でした。

<f:link.action action="pdf" controller="News" pluginName="pi1" extensionName="news" arguments="{news: newsItem}">Generate pdf</f:link.action> 
関連する問題