GridView DataColumn Для чего $options?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

GridView DataColumn Для чего $options?

Сообщение yiijeka »

Кто-нибудь использовал $options в колонке?

Просто, если его использовать

Код: Выделить всё

[
    'attribute' => 'id',
     'options'=>['class'=>'text-center'],
],  
, то генерируется до шапки таблицы вот такой код:

Код: Выделить всё

<colgroup><col>
<col>
<col class="text-center">
<col>
<col>
<col>
<col>
<col>
<col></colgroup> 
Что с этим делать не понятно :)
fly2k
Сообщения: 155
Зарегистрирован: 2013.03.19, 05:31

Re: GridView DataColumn Для чего $options?

Сообщение fly2k »

что именно не понятно? :)
$options, в подавляющем большинстве случаев(для виджетов, по крайней мере) предназначен для передачи дополнительных атрибутув основного хтмл тега веиджета.... можешь, например, передать атирбут стилей, типа 'style' => 'text-align: center', в общем всё что угодно...

если вопрос в другом, то полный код в студию, а то не понятно куда вообще передается что передается, и чего вообще хочется добиться?
Последний раз редактировалось fly2k 2014.10.13, 12:49, всего редактировалось 1 раз.
// Yii2Rulez!
fly2k
Сообщения: 155
Зарегистрирован: 2013.03.19, 05:31

Re: GridView DataColumn Для чего $options?

Сообщение fly2k »

соре, невнимательно прочитал пост... теперь понятно, что речь идет именно о виджете колонки...
// Yii2Rulez!
fly2k
Сообщения: 155
Зарегистрирован: 2013.03.19, 05:31

Re: GridView DataColumn Для чего $options?

Сообщение fly2k »

вспомнилось, у базового виджета от yii2-bootstrap/Widget $options прописаны, так что уже все виджеты унаследованые дальше автоматом имеют такое свойство... очень удобно так то... я свои виджеты с него наследую.
// Yii2Rulez!
astronin
Сообщения: 606
Зарегистрирован: 2012.01.30, 17:46

Re: GridView DataColumn Для чего $options?

Сообщение astronin »

удобно управлять шириной колонки, а так же вы видимо еще не столкнулись с дизайнерами и какими ни будь сеошниками...
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: GridView DataColumn Для чего $options?

Сообщение yiijeka »

/**
* @var array the HTML attributes for the column group tag.
* @see \yii\helpers\Html::renderTagAttributes() for details on how attributes are being rendered.
*/
public $options = [];
ширина колонки задаётся через contentOptions
/**
* @var array|\Closure the HTML attributes for the data cell tag. This can either be an array of
* attributes or an anonymous function ([[Closure]]) that returns such an array.
* The signature of the function should be the following: `function ($model, $key, $index, $column)`.
* A function may be used to assign different attributes to different rows based on the data in that row.
*
* @see \yii\helpers\Html::renderTagAttributes() for details on how attributes are being rendered.
*/
public $contentOptions = [];
Для чего же $options ...
fly2k
Сообщения: 155
Зарегистрирован: 2013.03.19, 05:31

Re: GridView DataColumn Для чего $options?

Сообщение fly2k »

да, $clientOptions используется при отрисовке <td>: https://github.com/yiisoft/yii2/blob/ma ... mn.php#L97
а $options видно только для <col> внутри <colgroup>: https://github.com/yiisoft/yii2/blob/ma ... w.php#L325
ну и вот: http://htmlbook.ru/html/colgroup

сам ни разу не юзал :) но штука то полезная так то...
// Yii2Rulez!
fly2k
Сообщения: 155
Зарегистрирован: 2013.03.19, 05:31

Re: GridView DataColumn Для чего $options?

Сообщение fly2k »

тут вот попробовал задать выравнивание(align) через $options - align в соответсвующем col появляется, но самого выравнимания нет :( пробовал писать в style от col - нифига...
// Yii2Rulez!
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: GridView DataColumn Для чего $options?

Сообщение yiijeka »

а как это заюзать в GridView ?
Ответить