2

yii でプロジェクトを作成しています。

今、新しいパスワード挿入ウィンドウを表示するためのウィジェットを作成したいと思います。パスワードをリセットするには、ユーザーは秘密の質問の答えを正しく入力する必要があります。この後、彼には 2 つのラジオ ボタンが提供されます。1 つは「ここでパスワードを変更する」というラベルを付け、もう 1 つは「パスワード リセット リンクをメールに送信する」というラベルを付けます。

したがって、ユーザーが最初のラジオ ボタンをクリックすると、このウィジェットがレンダリングされ、新しいパスワードとパスワードの繰り返しを入力するための 2 つのテキスト フィールドと、送信ボタンも表示されます。それでは、このウィジェットを実装する方法。

こんにちはと言う簡単なウィジェットを次のように作成しました。

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

このウィジェットにテキストフィールドと送信ボタンを追加する方法。または、このウィジェットでビュー フォームをレンダリングする方法。私を助けてください。

4

3 に答える 3

0

ウィジェットのレンダリングは、他のビューのレンダリングと同じです。ヘッダーを再度取得しないように、レイアウト プロパティを別の値に設定するだけです。public $layout='//layouts/noheader'; $this->layout = '//layouts/noheader' のようにメソッドでそのプロパティを設定できます。これにより、たとえば、ポップアップ用のレイアウトがあるなどのカスタムを行うこともできます。また、他の場所で使用できるように、パーシャルとして作成する必要があります。

于 2012-12-05T20:05:03.080 に答える
0

widget/views フォルダーから部分ビュー (レイアウトなし) をレンダリングする $this->render() メソッドを使用します。

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

ここをチェック

于 2012-12-05T07:55:59.207 に答える
0

この構造を忘れないでください:

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

書くのを忘れてreturn 、エラーを検索するのに多くの時間を費やします。
それが役立つことを願っています

于 2016-01-16T10:52:53.313 に答える