t-alexashka
@t-alexashka
Сразу пишу legacy код

Yii2 / Как вытащить в собственном виджете данные из filter?

Привет друзья!

Делаю собственный виджет для использования в gridview фильтрах, не могу сообразить как вытащить предустановленные данные из 'filter'?

в GridView:
...
[
	'attribute' => 'prefix',
	'filter' => Companies::getAllAsArray('id', 'title'),
	'filterType' => '\common\widgets\Button',
	'format' => 'raw',
	'value' => function($model) {
		return '<b>' . $model->prefix . '</b>';
	},
],
...


сам виджет Button:

<?php

namespace common\widgets;

use Yii;

class Button extends \yii\base\Widget
{

	public $options;
	public $theme;
	public $model;
	public $attribute;
	public $data;
	public $value;
	public $filter;

	public function init()
	{
		parent::init();
	}

	public function setPluginOptions($options)
	{
		$this->options = $options;
	}

	public function run()
	{
		echo "
			<script>var filterButton_{$this->attribute} = true;</script>
			<a href='javascript:;' class='btn btn-default btn-block' id='filter-button-{$this->attribute}'>Все</a>
		" . print_r($this->filter, true);
	}
}


Если я уберу 'filterType' => '\common\widgets\Button', то получу обычный select. А с указанием своего виджета я хз как засунуть эти данные в него.
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы