Yii 更改数组中的占位符文本
我正在使用yii用户扩展,并尝试向“占位符”属性添加适当的标签。对Yii来说真的很新鲜,所以仍然在努力掌握事物 我在类的models文件夹中添加了Yii 更改数组中的占位符文本,yii,Yii,我正在使用yii用户扩展,并尝试向“占位符”属性添加适当的标签。对Yii来说真的很新鲜,所以仍然在努力掌握事物 我在类的models文件夹中添加了attributeLabels()方法 class RegistrationForm extends User { /** * Declares attribute labels. */ public function attributeLabels() { return array(
attributeLabels()
方法
class RegistrationForm extends User {
/**
* Declares attribute labels.
*/
public function attributeLabels()
{
return array(
'email'=>'Email Address',
'firstname'=>'First Name',
'lastname' => 'Last Name',
'verifyPassword' = 'Retype Password'
);
}
}
这是我的/views/文件夹中的代码
$form=$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
'id'=>'registration-form',
'type'=>'vertical',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
));
<?php echo $form->textField($model,'email', array('class' => 'input-block-level', 'placeholder' => 'email')); ?>
<?php echo $form->passwordField($model,'password', array('class' => 'input-block-level', 'placeholder' => 'password')); ?>
<?php echo $form->passwordField($model,'verifyPassword', array('class' => 'input-block-level', 'placeholder' => 'verifyPassword')); ?>
<?php
$profileFields=Profile::getFields();
if ($profileFields) {
foreach($profileFields as $field) {
if ($widgetEdit = $field->widgetEdit($profile)) {
//echo $widgetEdit;
} elseif ($field->range) {
echo $form->dropDownList($profile,$field->varname,Profile::range($field->range),array('class' => 'input-block-level'));
} elseif ($field->field_type=="TEXT") {
echo $form->textArea($profile,$field->varname,array('rows'=>6, 'cols'=>50));
} else {
//echo $field->varname;
if ($field->varname == 'firstname')
{
$placeholder = 'First Name';
}
else if ($field->varname == 'lastname')
{
$placeholder = 'Last Name';
}
else
{
$placeholder = $field->varname;
}
echo $form->textField($profile,$field->varname,array('size'=>60,'maxlength'=>(($field->field_size)?$field->field_size:255),'class' => 'input-block-level', 'placeholder' => $placeholder));
}
echo $form->error($profile,$field->varname);
}
}
?>
$form=$this->beginWidget('bootstrap.widgets.TbActiveForm',数组(
'id'=>'registration-form',
'类型'=>'垂直',
“enableClientValidation”=>true,
'clientOptions'=>数组(
“validateOnSubmit”=>true,
),
));
如何使
attributeLabels()
处理我的echo$form->textField($profile,$field->varname,array('size'=>60,'maxlength'=>($field->field\u size)?$field->field\u size:255),'class'=>'input block level','placeholder'=>$placeholder')
?您可以使用getAttributeLabel
()获取指定属性的文本标签,如下所示:
E.x:
您可以使用
getAttributeLabel
()获取指定属性的文本标签,如:
E.x:
您可以使用
getAttributeLabel
()获取指定属性的文本标签,如:
E.x:
您可以使用
getAttributeLabel
()获取指定属性的文本标签,如:
E.x:
您不必编辑
类注册表单扩展用户
打开受保护的/modules/user/model/user.php
在attributeLabels()
方法中添加/编辑自定义标签
public function attributeLabels()
{
return array(
'id' => UserModule::t("Id"),
'username'=>UserModule::t("username"),
'password'=>UserModule::t("Password"),
'verifyPassword'=>UserModule::t("Retype Password"),
'firstname'=>UserModule::t("First Name"), //ADDED
'lastname'=>UserModule::t("Last Name"), // ADDED
'email'=>UserModule::t("Email Address"), //EDITED
'verifyCode'=>UserModule::t("Verification Code"),
'activkey' => UserModule::t("Activation Key"),
'createtime' => UserModule::t("Registration Date"),
'create_at' => UserModule::t("Registration Date"),
'lastvisit_at' => UserModule::t("Last Visit"),
'superuser' => UserModule::t("Superuser"),
'status' => UserModule::t("Status"),
);
}
并获取要在视图文件中显示的标签。用这个
<?php echo $form->passwordField($model,'verifyPassword',
array('class' => 'input-block-level',
'placeholder' => $model->getAttributeLabel('email')));
?>
您不必编辑
类注册表单扩展用户
打开受保护的/modules/user/model/user.php
在attributeLabels()
方法中添加/编辑自定义标签
public function attributeLabels()
{
return array(
'id' => UserModule::t("Id"),
'username'=>UserModule::t("username"),
'password'=>UserModule::t("Password"),
'verifyPassword'=>UserModule::t("Retype Password"),
'firstname'=>UserModule::t("First Name"), //ADDED
'lastname'=>UserModule::t("Last Name"), // ADDED
'email'=>UserModule::t("Email Address"), //EDITED
'verifyCode'=>UserModule::t("Verification Code"),
'activkey' => UserModule::t("Activation Key"),
'createtime' => UserModule::t("Registration Date"),
'create_at' => UserModule::t("Registration Date"),
'lastvisit_at' => UserModule::t("Last Visit"),
'superuser' => UserModule::t("Superuser"),
'status' => UserModule::t("Status"),
);
}
并获取要在视图文件中显示的标签。用这个
<?php echo $form->passwordField($model,'verifyPassword',
array('class' => 'input-block-level',
'placeholder' => $model->getAttributeLabel('email')));
?>
您不必编辑
类注册表单扩展用户
打开受保护的/modules/user/model/user.php
在attributeLabels()
方法中添加/编辑自定义标签
public function attributeLabels()
{
return array(
'id' => UserModule::t("Id"),
'username'=>UserModule::t("username"),
'password'=>UserModule::t("Password"),
'verifyPassword'=>UserModule::t("Retype Password"),
'firstname'=>UserModule::t("First Name"), //ADDED
'lastname'=>UserModule::t("Last Name"), // ADDED
'email'=>UserModule::t("Email Address"), //EDITED
'verifyCode'=>UserModule::t("Verification Code"),
'activkey' => UserModule::t("Activation Key"),
'createtime' => UserModule::t("Registration Date"),
'create_at' => UserModule::t("Registration Date"),
'lastvisit_at' => UserModule::t("Last Visit"),
'superuser' => UserModule::t("Superuser"),
'status' => UserModule::t("Status"),
);
}
并获取要在视图文件中显示的标签。用这个
<?php echo $form->passwordField($model,'verifyPassword',
array('class' => 'input-block-level',
'placeholder' => $model->getAttributeLabel('email')));
?>
您不必编辑
类注册表单扩展用户
打开受保护的/modules/user/model/user.php
在attributeLabels()
方法中添加/编辑自定义标签
public function attributeLabels()
{
return array(
'id' => UserModule::t("Id"),
'username'=>UserModule::t("username"),
'password'=>UserModule::t("Password"),
'verifyPassword'=>UserModule::t("Retype Password"),
'firstname'=>UserModule::t("First Name"), //ADDED
'lastname'=>UserModule::t("Last Name"), // ADDED
'email'=>UserModule::t("Email Address"), //EDITED
'verifyCode'=>UserModule::t("Verification Code"),
'activkey' => UserModule::t("Activation Key"),
'createtime' => UserModule::t("Registration Date"),
'create_at' => UserModule::t("Registration Date"),
'lastvisit_at' => UserModule::t("Last Visit"),
'superuser' => UserModule::t("Superuser"),
'status' => UserModule::t("Status"),
);
}
并获取要在视图文件中显示的标签。用这个
<?php echo $form->passwordField($model,'verifyPassword',
array('class' => 'input-block-level',
'placeholder' => $model->getAttributeLabel('email')));
?>
@secrettlm我把它放在类注册表单中扩展了模型中的用户{
对吗?我得到了这个配置文件,它的行为没有名为“getAttributeLabels”的方法或闭包。
@user2636556:从控制器传递到视图的$model变量没有getAttributeLabels()。请在您的模型类中定义getAttributeLabels()函数,该函数在视图中创建了$Model变量。仍然不起作用,请告诉我htmlspecialchars()期望参数1为字符串,数组给定
@secrettlm btw,我在模型文件`公共静态函数getAttributeLabels(){return array'中添加了此函数('firstname'=>'First Name','lastname'=>'Last Name',);}`我用$model->getAttributeLabels('firstname')
@secrettlm来调用它,我把它放在类注册表单扩展了模型中的用户{
,对吗?我得到了这个配置文件,它的行为没有名为“getAttributeLabels”的方法或闭包.
@user2636556:您从控制器传递到视图的$model变量没有getAttributeLabels()。请在您的模型类中定义getAttributeLabels()函数,该函数在视图中创建了$model变量。仍然不起作用,给我htmlspecialchars()期望参数1是字符串,数组给定
@secrettlm顺便说一句,我在我的模型文件`公共静态函数getattributeLabels(){return array('firstname'=>'firstname','lastname'=>'Last Name',);}`中添加了这个参数,我通过$model->getattributeLabels('firstname')调用它
@secrettlm我把它放在类注册表单中扩展了模型中的用户{
对吗?我得到了这个配置文件,它的行为没有名为“getAttributeLabels”的方法或闭包。
@user2636556:从控制器传递到视图的$model变量没有getAttributeLabels()。请在您的模型类中定义getAttributeLabels()函数,该函数在视图中创建了$Model变量。仍然不起作用,请告诉我htmlspecialchars()期望参数1为字符串,数组给定
@secrettlm btw,我在模型文件`公共静态函数getAttributeLabels(){return array'中添加了此函数('firstname'=>'First Name','lastname'=>'Last Name',);}`我用$model->getAttributeLabels('firstname')
@secrettlm来调用它,我把它放在类注册表单扩展了模型中的用户{
,对吗?我得到了这个配置文件,它的行为没有名为“getAttributeLabels”的方法或闭包.
@user2636556:您从控制器传递到视图的$model变量没有getAttributeLabels()。请在您的模型类中定义getAttributeLabels()函数,该函数在视图中创建了$model变量。仍然不起作用,给我htmlspecialchars()期望参数1是字符串,数组给定
@secrettlm顺便说一句,我在我的模型文件`公共静态函数getattributeLabels(){return array('firstname'=>'firstname','lastname'=>'lastname',);}`中添加了这个参数,我通过$model->getattributeLabels('firstname')调用它。