Как констакты привязать к getSortLabels?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
cqfmkapb
Сообщения: 162
Зарегистрирован: 2019.12.08, 15:49

Как констакты привязать к getSortLabels?

Сообщение cqfmkapb »

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

public const HT_EVERYDAY = 'каждый день';
    public const HT_OREL = 'игра орел';
    public const HT_SAPER = 'игра сапер';
    public const HT_DUEL = 'игра дуэль';

    public static function getSortLabels() {
        return [
            self::HT_EVERYDAY  => Yii::t('app', self::HT_EVERYDAY),
            self::HT_OREL => Yii::t('app', self::HT_EVERYDAY),
            self::HT_SAPER  => Yii::t('app', self::HT_EVERYDAY),
            self::HT_DUEL  => Yii::t('app', self::HT_EVERYDAY),
        ];
    }


[
                'attribute' => 'type',
                'filter' => Html::activeDropDownList($searchModel, 'type', ArrayHelper::map(\common\models\HistoryBalance::find()->all(), 'type', 'type'), ['everyday' => '', 'class' => 'form-control form-control-sm']),
            ],
cqfmkapb
Сообщения: 162
Зарегистрирован: 2019.12.08, 15:49

Re: Как констакты привязать к getSortLabels?

Сообщение cqfmkapb »

к activeDropDownList
cqfmkapb
Сообщения: 162
Зарегистрирован: 2019.12.08, 15:49

Re: Как констакты привязать к getSortLabels?

Сообщение cqfmkapb »

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

             [
                'attribute' => 'type',
                'filter' => Html::activeDropDownList($searchModel, 'type', HistoryBalance::getSortLabels(),  'type'), ['everyday' => '', 'class' => 'form-control form-control-sm']),
            ],
syntax error, unexpected ')', expecting ']'
cqfmkapb
Сообщения: 162
Зарегистрирован: 2019.12.08, 15:49

Re: Как констакты привязать к getSortLabels?

Сообщение cqfmkapb »

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

             [
                'attribute' => 'type',
                'filter' => Html::activeDropDownList($searchModel, ('type', HistoryBalance::getSortLabels(),  'type'), ['everyday' => '', 'class' => 'form-control form-control-sm']),
            ],
syntax error, unexpected ','
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Как констакты привязать к getSortLabels?

Сообщение yiiliveext »

Начать лучше с изучения php.
cqfmkapb
Сообщения: 162
Зарегистрирован: 2019.12.08, 15:49

Re: Как констакты привязать к getSortLabels?

Сообщение cqfmkapb »

Я учил пхп. скажите где ошибка пожалуйста. Как правильно сделать? Я ж учу
cqfmkapb
Сообщения: 162
Зарегистрирован: 2019.12.08, 15:49

Re: Как констакты привязать к getSortLabels?

Сообщение cqfmkapb »

yiiliveext писал(а): 2019.12.19, 21:57 Начать лучше с изучения php.

подскажите что не так пожалуйста
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Как констакты привязать к getSortLabels?

Сообщение yiiliveext »

/**
* @var string|array|null|false the HTML code representing a filter input (e.g. a text field, a dropdown list)
* that is used for this data column. This property is effective only when [[GridView::filterModel]] is set.
*
* - If this property is not set, a text field will be generated as the filter input with attributes defined
* with [[filterInputOptions]]. See [[\yii\helpers\BaseHtml::activeInput]] for details on how an active
* input tag is generated.
* - If this property is an array, a dropdown list will be generated that uses this property value as
* the list options.
* - If you don't want a filter for this data column, set this value to be false.
*/
public $filter;

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

  [
                'attribute' => 'type',
                'filter' => HistoryBalance::getSortLabels()
            ],
cqfmkapb
Сообщения: 162
Зарегистрирован: 2019.12.08, 15:49

Re: Как констакты привязать к getSortLabels?

Сообщение cqfmkapb »

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


    [
        'attribute' => 'type',
        'filter' => Html::activeDropDownList(
            $searchModel,
            'type',
            HistoryBalance::getSortLabels(),
            [
                'everyday' => 'каждый день',
                'class' =>
                'form-control form-control-sm'
            ]
        ),
    ],
    
    
        public const HT_EVERYDAY = 'everyday';
        public const HT_OREL = 'game_orel';
        public const HT_SAPER = 'game_saper';
        public const HT_DUEL = 'game_duel';
    
    
        public static function getSortLabels() {
            return [
                self::HT_EVERYDAY  => Yii::t('app', self::HT_EVERYDAY),
                self::HT_OREL => Yii::t('app', self::HT_OREL),
                self::HT_SAPER  => Yii::t('app', self::HT_SAPER),
                self::HT_DUEL  => Yii::t('app', self::HT_DUEL),
            ];
        }
        
        




Как значения констант переименовать на русские ? Это в дробдаун activeDropDownList как-то делается? Как?
Например, game_orel на игра орел
Аватара пользователя
proctoleha
Сообщения: 298
Зарегистрирован: 2016.07.10, 19:00

Re: Как констакты привязать к getSortLabels?

Сообщение proctoleha »

Правильно вам говорят - учите сначала php. Это основы. Не помню с какой версии константы можно объявлять в виде массивов.

Т.е. можно так

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

        public const HT_EVERYDAY = [
        	'name' => 'Русское имя',
        	'value' => 'my_value'
        ];
	...
    
    
        public static function getSortLabels() {
            return [
                self::HT_EVERYDAY['value']  => self::HT_EVERYDAY['name'],
                ...
            ];
        }
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Как констакты привязать к getSortLabels?

Сообщение unknownby »

Ну так добавь переводы в файле app.php

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

'everyday' => 'Каждый день',
'game_orel' => 'Игра орел',
'game_saper' => 'Игра сапер',
'game_duel' => 'Игра дуэль',
Ответить