2

私はこれを経験しました:

しかし、うまくいきません。私のグリッドビュー:

<?= GridView::widget([
        'dataProvider' => new yii\data\ActiveDataProvider(['query' => $model->getLibBookMasters()]),
        'summary' => '',        
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],

            'lbm_book_no',
            [
             'attribute' => 'lbm_barcode_no', 
             //'type' => 'raw', 
             'value'=> function($model){
            return \barcode\barcode\BarcodeGenerator::widget(
                [
                'elementId' => 'lbm_barcode_no',
                'value'=> 'lbm_barcode_no', 
                'type'=>'ean13',

                ]);},
            ], 
        ],
    ]); ?>

私はそれを渡す必要がありelementIdますが、それが見つかりません。Barcode Generator をインストールしたばかりですが、操作方法がわかりません。

4

1 に答える 1

2

elementId異なるsを渡す必要があります。あなたのコードは現在、モデル'lbm_barcode_no'の属性の値ではなくリテラルを渡しているためです。lbm_barcode_noさらにdiv、バーコードを表示する を作成しformat、列の をrawまたはに設定する必要がありhtmlます。

'columns' => [      
    ['class' => 'yii\grid\SerialColumn'],

    'lbm_book_no',
    [
        'attribute' => 'lbm_barcode_no', 
        'format' => 'raw', 
        'value'=> function($model){
            return yii\helpers\Html::tag('div', '', ['id' => 'barcode-'.$model->lbm_barcode_no]).
            \barcode\barcode\BarcodeGenerator::widget([
                'elementId' => 'barcode-'.$model->lbm_barcode_no,
                'value'=> $model->lbm_barcode_no, 
                'type'=>'ean13',
            ]);
        },
    ], 
],

衝突を避けるために、タグの前に を付けましたbarcode-(わかりません)。

于 2015-08-06T20:45:40.007 に答える