質問編集履歴

1 コードの追加

irakoon

irakoon score 35

2018/08/28 21:49  投稿

CkaePHP2のConsoleでJSを使いたい
CakePHP 2.10.11
+ CakePdf
+ wkhtmltopdf
+ BoostCake(bootstrap3)
な環境で、viewよりPDFの書き出しを行っています。
この度、PDFの書き出しをバッチ処理する必要が生じ、Console/Commandで試行錯誤しています。
結果、PDFの生成には成功したのですが、bootstrap3等のJavaScriptがまったく機能しません。
なんとかConsole/CommandでJavaScriptを効かす方法はないでしょうか。
なんとかConsole/CommandでJavaScriptを効かす方法はないでしょうか。
追記:コードを追加しました。
**app/Console/Command/MkpdfShell.php**
```lang-php
App::uses('CakePdf', 'CakePdf.Pdf');
App::uses('HtmlHelper', 'View/Helper');
App::uses('BoostCakeHtmlHelper', 'View/Helper');
App::uses('Router', 'Core');
class MkpdfShell extends AppShell {
   public function startup(){
       parent::startup();
   }
   public function main() {
       $CakePdf = new CakePdf(Configure::read('CakePdf'));
       $this->Html = new BoostCakeHtmlHelper(new View());
       $this->Html->className = 'BoostCake.BoostCakeHtml';
       $this->User->recursive = 1;
       $CakePdf->viewVars(['result' => $this->User->find('first', $options) ]);
       $CakePdf->template('bsprint', 'bootstrap');
       $CakePdf->orientation('landscape');
       $pdf = $CakePdf->output();
       $pdf = $CakePdf->write(TMP."hoge.pdf");
   }
}
```
**app/View/User/pdf/bsprint.ctp**
```lang-php
<table class="table table-condensed">
...
<!--- ここにbootstrap3で装飾した表が入る --->
...
</table>
```
**app/View/Layout/pdf/bootstrap.ctp** にて、bootstrap3等の読み込み
  • JavaScript

    25045 questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • CakePHP

    2743 questions

    CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る