溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

yii框架中小部件的使用方法

發(fā)布時(shí)間:2021-01-14 11:02:02 來源:億速云 閱讀:134 作者:小新 欄目:編程語言

這篇文章主要介紹了yii框架中小部件的使用方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

小部件

小部件是在視圖中使用的可重用單元, 使用面向?qū)ο蠓绞絼?chuàng)建復(fù)雜和可配置用戶界面單元。    

例如,日期選擇器小部件可生成一個(gè)精致的允許用戶選擇日期的日期選擇器, 你只需要在視圖中插入如下代碼:

<?php
use yii\jui\DatePicker;
?>
<?= DatePicker::widget(['name' => 'date']) ?>

Yii提供許多優(yōu)秀的小部件,比如 active form,menu, jQuery UI widgets, Twitter Bootstrap widgets。 接下來介紹小部件的基本知識,如果你想了解某個(gè)小部件請參考對應(yīng)的類 API 文檔。

使用小部件

小部件基本上在 views 中使用, 在視圖中可調(diào)用 yii\base\Widget::widget() 方法使用小部件。 該方法使用 配置 數(shù)組初始化小部件并返回小部件渲染后的結(jié)果。

例如如下代碼插入一個(gè)日期選擇器小部件,它配置為使用俄羅斯語, 輸入框內(nèi)容為 $model 的 from_date 屬性值。

<?php
use yii\jui\DatePicker;
?>
<?= DatePicker::widget([
    'model' => $model,
    'attribute' => 'from_date',
    'language' => 'ru',
    'dateFormat' => 'php:Y-m-d',
]) ?>

一些小部件可在 yii\base\Widget::begin() 和 yii\base\Widget::end() 調(diào)用中使用數(shù)據(jù)內(nèi)容。

例如如下代碼使用 yii\widgets\ActiveForm 小部件生成一個(gè)登錄表單, 小部件會(huì)在 begin() 和 end() 執(zhí)行處分別生成 <form> 的開始標(biāo)簽和結(jié)束標(biāo)簽, 中間的任何代碼也會(huì)被渲染。

<?php
use yii\widgets\ActiveForm;
use yii\helpers\Html;
?>
<?php $form = ActiveForm::begin(['id' => 'login-form']); ?>
    <?= $form->field($model, 'username') ?>
    <?= $form->field($model, 'password')->passwordInput() ?>
    <div class="form-group">
        <?= Html::submitButton('Login') ?>
    </div>
<?php ActiveForm::end(); ?>

注意和調(diào)用 yii\base\Widget::widget() 返回渲染結(jié)果不同, 調(diào)用 yii\base\Widget::begin() 方法返回一個(gè)可組建小部件內(nèi)容的小部件實(shí)例。

注意: 當(dāng)調(diào)用 yii\base\Widget::end() 的時(shí)候,一些小部件將使用 輸出緩沖 來調(diào)整封閉的內(nèi)容。因此,當(dāng)調(diào)用 yii\base\Widget::begin() 和 yii\base\Widget::end() 時(shí),最好在同一個(gè)視圖文件里。 不遵循這個(gè)規(guī)則可能會(huì)導(dǎo)致意外的輸出。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“yii框架中小部件的使用方法”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

yii
AI