2017-09-13 44 views
0

我試圖使用Yii2 mPDF擴展創建發票的PDF,我可以創建PDF就好了,但我想通過視圖數據轉換成似乎不起作用的Pdf。Yii2〜Bad Request(#400)缺少必要的參數:創建PDF時的ID

控制器:

public function actionMpdfDemo1($id) { 
    $model = Facturen::findOne($id); 
    $content = $this->renderPartial('factuur', [ 
     'model' => $model, 
     'company' => $company, 
    ]); 
    $pdf = new Pdf([ 
     'mode' => Pdf::MODE_UTF8, // leaner size using standard fonts 
     'format' => Pdf::FORMAT_A4, 
     'orientation' => Pdf::ORIENT_PORTRAIT, 
     'content' => $content, 
     'options' => [ 
      'title' => 'Factuur', 
      'subject' => 'Generating PDF files via yii2-mpdf extension has never been easy' 
     ], 
     'methods' => [ 
      'SetHeader' => ['Generated By: Krajee Pdf Component||Generated On: ' . date("l j F Y")], 
      'SetFooter' => ['|Page {PAGENO}|'], 
     ] 
    ]); 
    return $pdf->render(); 
} 

的觀點:

<?php 

use yii\helpers\Html; 
use yii\widgets\DetailView; 
use app\models\Facturen; 
use helpers\ArrayHelper; 
use app\models\Producten; 
/* @var $this yii\web\View */ 
/* @var $model app\models\Facturen */ 
/* @var $modelProducten app\models\Producten */ 

$this->title = 'Factuur: '. $model->factuur_id; 
$this->params['breadcrumbs'][] = ['label' => 'Factures', 'url' => ['index']]; 
$this->params['breadcrumbs'][] = $this->title; 
?> 
<div class="facturen-view"> 

    <h1><?= Html::encode($this->title) ?></h1> 

    <p> 
     <?= Html::a('Update', ['update', 'id' => $model->factuur_id], ['class' => 'btn btn-primary']) ?> 
     <?= Html::a('Delete', ['delete', 'id' => $model->factuur_id], [ 
      'class' => 'btn btn-danger', 
      'data' => [ 
       'confirm' => 'Are you sure you want to delete this item?', 
       'method' => 'post', 
      ], 
     ]) ?> 
    </p> 

    <?= DetailView::widget([ 
     'model' => $model, 
     'modelProducten' => $modelProducten, 
     'attributes' => [ 
      'factuur_id', 
      'company.company_name', 
      'person.Contactpersoon', 
//   'person.last_name', 
      'product.product_id', 
      'product.product_name', 
      'product.amount', 
      'product.price', 
      'date', 
     ], 
    ]) ?> 
<p> 
<?php  echo Html::a('<i class="fa glyphicon glyphicon-hand-up"></i> Factuur genereren', ['/facturen/mpdf-demo-1'], [ 
     'class'=>'btn btn-danger', 
     'target'=>'_blank', 
     'data-toggle'=>'tooltip', 
     'title'=>'Will open the generated PDF file in a new window' 
     ]); ?> 
    </p> 
<?php var_dump($model)?> 
</div> 

,並在那裏創建我的 「factuur」

<?php 

use yii\helpers\Html; 
use yii\widgets\DetailView; 
use app\models\Facturen; 
use helpers\ArrayHelper; 
use app\models\Producten; 
/* @var $this yii\web\View */ 
/* @var $model app\models\Facturen */ 
/* @var $modelProducten app\models\Producten */ 
$this->title = 'Factuur: '?> 
<div class="container"> 
    <div class="row"> 
     <div class="col-xs-12"> 
      <div class="invoice-title"> 
       <h3 class="pull-right" style="float: right;">Factuurnummer # <?php echo $model->factuur_id; ?></h3> 
      </div> 
      <hr> 
      <div class="row"> 
       <div class="col-xs-6"> 
        <address> 
         <strong>Bedrijsnaam: </strong><?php echo $model->company->company_name; ?><br> 
         <strong>Contactpersoon: </strong><?php echo $model->person->Contactpersoon;?><br> 
        </address> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="col-xs-6"> 
        <address> 
         <strong>Betaal Methode:</strong><br> 
         Visa ending **** 4242<br> 
         [email protected] 
        </address> 
       </div> 
       <div style="float: right;" class="col-xs-6 text-right"> 
        <address> 
         <strong>Factuurdatum:</strong><br> 
         <?php echo $model->date; ?><br><br> 
        </address> 
       </div> 
      </div> 
     <.....> 

這是視圖的頁面,你會看到一個變種傾倒。一些沒有設置字段這是一個問題,但我卻在關於已經一個問題:

enter image description here

這是有點兒什麼我要爲但內容取決於ID:

enter image description here

+0

其中'actionMpdfDemo1($ id)'被執行? –

+0

我編輯我錯了一個粘貼哎呦 –

回答

0

缺少$id的作用參數。

Html::a('<i class="fa glyphicon glyphicon-hand-up"></i> Factuur genereren', 
    ['/facturen/mpdf-demo-1', 'id' => $model->factuur_id], 
    [ 
     'class'=>'btn btn-danger', 
     'target'=>'_blank', 
     'data-toggle'=>'tooltip', 
     'title'=>'Will open the generated PDF file in a new window' 
    ] 
); 
+0

我收到以下錯誤代碼: 未定義的變量:模型 1.在C:\ XAMPP \ htdocs中\ Gillz \意見\ facturen \ factuur.php –

+0

@MichaelRotteveel您的模型變量是否存在?根據你的觀點文件,它在那裏。 –

+0

它現在有用,謝謝 –