Расширение yii-user - как добавить поле профиля флажка?

Фреймворк Yii, расширение yii-user (используя обе последние версии на сегодняшний день): как добавить простое поле «флажок» для профиля всех пользователей?

Я вошел в систему как администратор и зашел в user/profileField/admin. Я могу добавить новое поле, но ближе всего я добавляю поле «BOOL», которое отображается в виде раскрывающегося списка, а мне нужен флажок... . Когда используется «BOOL», я не могу указать виджет, и даже если бы я мог, нет документации по этим виджетам yii-user.

Любая помощь приветствуется!


person Boaz Rymland    schedule 16.04.2012    source источник
comment
блин, я очень близок к тому, чтобы отказаться от этого расширения/модуля и реализовать себя. на самом деле, я сомневаюсь, что любая помощь здесь изменит мое мнение.   -  person Boaz Rymland    schedule 16.04.2012
comment
Вы спрашивали на форуме, они обычно неплохие.   -  person Paystey    schedule 18.04.2012
comment
По моему опыту, форум иногда не так эффективен (но это зависит, в основном, от удачи, я думаю). Тем не менее, это место (stackoverflow), вероятно, из-за его интересных социальных стимулов, по крайней мере, так же хорошо, как и форум. Но спасибо за совет!   -  person Boaz Rymland    schedule 18.04.2012


Ответы (2)


Откройте modules/yii-user/views/user/registration.php. Около строки 40 добавьте что-то вроде этого:

else if ($field->field_type=='BINARY') echo $form->checkBox($profile,$field->varname,array());

Теперь, когда вы хотите создать поле флажка, выберите тип поля BINARY. Если вы хотите, чтобы он был проверен, добавьте это в поле «Другой валидатор»: {"compare":{"compareValue":"1"}}

person paulsz    schedule 12.11.2012

Я просмотрел документы для этого расширения, и на самом деле я не вижу ни одного флажка нигде на снимках экрана или упоминаний где-либо в вики.

Возможно, вы сможете погрузиться и добавить поддержку там, где вам это нужно, Yii прекрасно обрабатывает все элементы HTML, поэтому добавить функцию в примитивной форме не должно быть слишком сложно. CHtml::checkBox() или CHtml::checkBoxList().

Опять же, если у вас уже возникли проблемы с этим, в конечном итоге вам, вероятно, будет проще написать то, что вам нужно, самостоятельно.

person Paystey    schedule 19.04.2012
comment
Да, ваше последнее предложение - это уже то, что я делаю. И, как обычно в Yii, он быстро развивается, поэтому я доволен этим направлением. - person Boaz Rymland; 20.04.2012