在yii中如何在小部件中呈现视图

在yii中如何在小部件中呈现视图,yii,widget,Yii,Widget,在yii中,我正在创建一个项目 现在我想创建用于显示新密码插入窗口的小部件。 要重置密码,用户需要正确输入安全问题的答案。 在此之后,他将获得两个单选按钮。 一个标签是“在此处更改密码”,另一个标签是“发送密码重置链接到邮件” 所以当用户单击第一个单选按钮时,这个小部件将被呈现,它将有两个文本字段用于输入新密码和重复密码,以及提交按钮。那么如何实现这个小部件 我已经创建了一个简单的小部件,以如下方式向您问好: class Sample extends CWidget { public fun

在yii中,我正在创建一个项目

现在我想创建用于显示新密码插入窗口的小部件。 要重置密码,用户需要正确输入安全问题的答案。 在此之后,他将获得两个单选按钮。 一个标签是“在此处更改密码”,另一个标签是“发送密码重置链接到邮件”

所以当用户单击第一个单选按钮时,这个小部件将被呈现,它将有两个文本字段用于输入新密码和重复密码,以及提交按钮。那么如何实现这个小部件

我已经创建了一个简单的小部件,以如下方式向您问好:

class Sample extends CWidget {
  public function init() {
    Yii::app()->getClientScript()->registerScript('SampleWidget',"alert('Hello');");
  }
}
所以,如何添加文本字段和提交按钮到这个小部件。或者如何在此小部件中呈现任何视图表单。请帮助我。

使用$this->render()方法,该方法将从您的widgets/views文件夹中呈现部分视图(无布局)

$this->render('my-widget',array());

呈现小部件与呈现任何其他视图相同。只需将layout属性设置为其他值,这样就不会再次获取标题。public$layout='//layouts/noheader';您可以在方法中设置该属性,如$this->layout='//layouts/noheader'。这也可以让你做一些自定义的事情,例如我有一个弹出窗口的布局。您还应将其创建为局部,以便在其他地方使用。

不要忘记此构造:

return $this->render('$viewname');
我忘了写
return
并花费大量时间查找错误;

希望有帮助

您是否尝试过$this->render(“myview”);如果我像你提到的那样将视图显示为-public函数run(){$this->render('password')}。它的给定错误为-找不到视图“密码”。我已经在示例文件夹中创建了示例类文件和password.php文件,ehich是在protected->extensions文件夹中创建的。那么现在我需要做什么改变呢?请帮帮我,先生。。。