Я прошел через это:
Но не работает Мой gridView:
<?= 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 и не знаю, как с ним играть.
Вам нужно пройти разные 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-
чтобы избежать столкновений (вы никогда не знаете).
Других решений пока нет …