Как расширить/написать свой format

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
aquy
Сообщения: 48
Зарегистрирован: 2014.08.21, 09:35

Как расширить/написать свой format

Сообщение aquy »

Например в виджете GridView выводим атрибут

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

'email:email',
'created_at:date'
как написать собственный формат аля стандартные email, date, text.., понятно что можно через анонимную функцию прямо тут вывести что захочется, либо волшебный getName в модели, но все же, как сделать именно свой "attribute:format:label"
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Как расширить/написать свой format

Сообщение ElisDN »

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

namespace app\components;

class Formatter extends \yii\i18n\Formatter
{
    public function asName($value) {
        if ($value === null) {
            return $this->nullDisplay;
        }
        return ...;
    }
}

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

'components' => [
    ...
    'formatter' => [
        'class' => 'app\components\Formatter',
    ],
],
aquy
Сообщения: 48
Зарегистрирован: 2014.08.21, 09:35

Re: Как расширить/написать свой format

Сообщение aquy »

ElisDN писал(а):

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

namespace app\components;

class Formatter extends \yii\i18n\Formatter
{
    public function asName($value) {
        if ($value === null) {
            return $this->nullDisplay;
        }
        return ...;
    }
} 

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

'components' => [
    ...
    'formatter' => [
        'class' => 'app\components\Formatter',
    ],
], 
супер! То есть через все конфиг, что хочется расширить можно переопределить и дополнить походим образом?
ShNURoK
Сообщения: 168
Зарегистрирован: 2012.04.12, 05:44
Контактная информация:

Re: Как расширить/написать свой format

Сообщение ShNURoK »

Да, все через конфиг, также в конфиге можно задать значение свойств компонента.
Ответить