>PHP 프레임워크 >YII >yii 프레임워크의 위젯을 사용하는 방법

yii 프레임워크의 위젯을 사용하는 방법

(*-*)浩
(*-*)浩원래의
2019-12-23 16:19:212272검색

yii 프레임워크의 위젯을 사용하는 방법

Widgets

위젯은 객체 지향 접근 방식을 사용하여 복잡하고 구성 가능한 사용자 인터페이스 단위를 만들기 위해 뷰에 사용되는 재사용 가능한 단위입니다. (추천 학습: yii 프레임워크)

예를 들어, 날짜 선택기 위젯은 사용자가 날짜를 선택할 수 있는 정교한 날짜 선택기를 생성할 수 있습니다. 뷰에 다음 코드만 삽입하면 됩니다.

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

Yii는 많은 우수한 기능을 제공합니다. 활성 양식, 메뉴, jQuery UI 위젯, Twitter Bootstrap 위젯과 같은 위젯. 다음으로 위젯에 대한 기본 지식을 소개하겠습니다. 특정 위젯에 대해 더 자세히 알고 싶다면 해당 클래스 API 문서를 참고하세요.

위젯 사용하기

뷰에서는 기본적으로 위젯이 사용되며, 뷰에서 yiibaseWidget::widget() 메소드를 호출하여 위젯을 사용할 수 있습니다. 이 메소드는 구성 배열을 사용하여 위젯을 초기화하고 렌더링되는 위젯의 결과를 반환합니다.

예를 들어 다음 코드는 러시아어를 사용하도록 구성된 날짜 선택기 위젯을 삽입하고 입력 상자 내용은 $model의 from_date 속성 값입니다.

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

일부 위젯은 yiibaseWidget::begin() 및 yiibaseWidget::end() 호출에서 데이터 콘텐츠를 사용할 수 있습니다.

예를 들어, 다음 코드는 yiiwidgetsActiveForm 위젯을 사용하여 로그인 양식을 생성합니다. 위젯은 각각 start() 및 end() 실행 위치에 ff9c23ada1bcecdd1a0fb5d5a0f18437의 시작 태그와 종료 태그를 생성합니다. 중간에도 렌더링됩니다.

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

yiibaseWidget::widget()을 호출하여 반환된 렌더링 결과는 다릅니다. yiibaseWidget::begin() 메서드를 호출하면 위젯 콘텐츠를 구성하는 데 사용할 수 있는 위젯 인스턴스가 반환됩니다.

참고: yiibaseWidget::end()를 호출할 때 일부 위젯은 출력 버퍼링을 사용하여 포함된 콘텐츠를 조정합니다. 따라서 yiibaseWidget::begin()과 yiibaseWidget::end()를 호출할 때는 동일한 뷰 파일에 있는 것이 가장 좋습니다. 이 규칙을 따르지 않으면 예기치 않은 결과가 발생할 수 있습니다.

위 내용은 yii 프레임워크의 위젯을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.