【问题标题】:In yii how to render view in widget在 yii 中如何在小部件中呈现视图
【发布时间】:2012-11-22 22:19:30
【问题描述】:

在 yii 中我正在创建项目。

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

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

我创建了简单的小部件打招呼:

class Sample extends CWidget {
  public function init() {
    Yii::app()->getClientScript()->registerScript('SampleWidget',"alert('Hello');");
  }
}

那么如何向这个小部件添加文本字段和提交按钮。或者如何在这个小部件中呈现任何视图表单。请帮帮我。

【问题讨论】:

  • 你试过$this->render("myview");

标签: yii widget


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    check here

    【讨论】:

    • 如果我显示的视图正如你提到的那样 - public function run(){ $this->render('password')}。它给出的错误是-找不到视图“密码”。我在示例文件夹中创建了示例类文件和 password.php 文件,ehich 是在 protected->extensions 文件夹中创建的。那么现在我需要做些什么改变?请帮我先生...
    【解决方案3】:

    不要忘记这个结构:

    return $this->render('$viewname');
    

    我忘了写return 并花费大量时间查找错误;
    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多