Yii框架2 0的小部件

2022-03-25 15:50:20 字數 2065 閱讀 6446

小部件是檢視裡的可重用單元。

小部件是在檢視中使用的,但是可能需要使用控制器傳給他的模型,比如在渲染表單的時候。比如一般的時間拾取器就可以直接砸檢視裡加入如下**就可以:

<?php

useyii\jui\datepicker;

?>

<?= datepicker::widget(['name' => 'date']) ?>

如果用到model 就大致是這樣的:

<?php

useyii\jui\datepicker;

?>

<?= datepicker::widget([

'model' => $model,

'attribute' => 'from_date',

'language' => 'ru',

'clientoptions' =>[

'dateformat' => 'yy-mm-dd',],]) ?>

一些小部件可在[[yii\base\widget::begin()]] 和 [[yii\base\widget::end()]] 呼叫中使用資料內容。比如activeform 小組件就是這樣使用的。

<?php

useyii\widgets\activeform;

useyii\helpers\html;

?>

<?php $form = activeform::begin(['id' => 'login-form']); ?>

<?= $form->field($model, 'username') ?>

<?= $form->field($model, 'password')->passwordinput() ?>

class="form-group">

<?= html::submitbutton('login') ?>

<?php activeform::end(); ?>

和呼叫 [[yii\base\widget::widget()]] 返回渲染結果不同, 呼叫 [[yii\base\widget::begin()]] 方法返回乙個可組建小部件內容的小部件例項。

建立小部件:

繼承 yii\base\widget 並實現 init 和 run方法就可以建立乙個小部件。

1、建立乙個像上面提到的時間選擇器那樣可以直接輸出的小部件:

useyii\base\widget;

useyii\helpers\html;

class hellowidget extends

widget

}public

function

run()

}在模板中使用的**是:

<?php

use?>

<?= hellowidget::widget(['message'=>'this is a hellowidget!'])?>

2、如果要建立乙個用 begin 和 end 中使用的小部件:

useyii\base\widget;

useyii\helpers\html;

class hellowidget extends

widget

public

function

field()

public

function

run()

}模板裡呼叫是這樣的:

<?php

useyii\helpers\html;

use?>

<?php echo html::encode($message);?>

<?php $hello = hellowidget::begin();?>這次使用的事begin 和 end方法。

<?= $hello->field();?>

<?php hellowidget::end();?>

public

function

run()

最後提點應該注意的:

Yii2 0框架 小部件 DetailView

1.資料小部件 yii 提供了一套資料小部件 widgets,這些小部件可以用於展示資料 detailview 小部件用於顯示一條記錄資料。listview 和 girdview 小部件能夠用於顯示乙個擁有分頁 排序和過濾功能的乙個列表或者 2.detailview 用來顯示一條記錄的詳情,下面這些...

Yii框架中表單小部件

文字框 textinput 密碼框 passwordinput 單選框 radio radiolist 核取方塊 checkbox checkboxlist 下拉框 dropdownlist 隱藏域 hiddeninput 文字域 textarea rows 3 檔案上傳 fileinput 提交按...

yii表單小部件

要想使用表單小部件 必須使用model 在使用model時 需要載入表單小部件的元件 分別是 yii widgets activeform 和 yii helpers html 然後在我們的model類中 定於各個表單小部件的name值 定義規則 namespace frontend models ...