Apabila aplikasi web menjadi semakin kompleks, rangka kerja web yang berkuasa menjadi semakin penting. Satu rangka kerja yang patut dipertimbangkan ialah Yii. Yii ialah rangka kerja berasaskan komponen berprestasi tinggi untuk pembangunan pesat aplikasi web moden. Sebagai tambahan kepada banyak ciri lain, Yii juga menyediakan kawalan kalendar terbina dalam yang menjadikan pemilih tarikh sangat mudah.
Dalam artikel ini, kami akan meneroka kawalan kalendar dalam Yii, mempelajari cara menggunakannya dalam aplikasi anda dan cara menyesuaikannya mengikut keperluan anda.
Kawalan kalendar Yii adalah berdasarkan JQuery UI Datepicker, jadi sebelum menggunakannya, anda perlu memastikan anda telah memasang jQuery dan perpustakaan UI jQuery. Bermula dari Yii versi 1.1.15, widget bernama "yiijui[DatePicker](http://www.yiiframework.com/doc/api/1.1/CJuiDatePicker)" telah ditambahkan pada Yii untuk membolehkan penggunaan Datepicker menjadi lebih mudah.
Pertama sekali, anda perlu memasang pakej "yiijui":
composer require yiisoft/yii2-jui
Seterusnya, tambah kandungan berikut dalam paparan untuk menggunakan DatePicker:
<?=$form->field($model, 'attribute')->widget(yiijuiDatePicker::class, [ 'dateFormat' => 'yyyy-MM-dd', 'options' => [ 'class' => 'form-control', ], ])?>
Di mana, 'atribut ' ialah Sifat dalam model anda yang digunakan untuk menghantar data antara paparan dan pengawal. Dalam kod di atas, widget DatePicker mengandungi pelbagai pilihan, seperti 'dateFormat', yang memberitahunya dalam format yang anda mahu tarikh yang dipilih untuk dipaparkan dan 'options' yang menentukan nama kelas gaya.
Selain itu, DatePicker datang dengan beberapa gaya untuk status amaran, ralat dan kejayaan, supaya apabila pengguna memilih tarikh yang tidak sah, ia boleh menandakannya secara automatik sebagai status ralat.
Walaupun DatePicker Yii disertakan dengan beberapa tetapan lalai yang hebat, anda mungkin perlu menyesuaikannya. Contohnya, anda mungkin mahu memautkannya dengan widget lain atau menukar rupa lalainya.
Untuk mengubah suai tetapan lalai, hantar tatasusunan melalui pilihan 'pilihan'. Contohnya, untuk menukar format tarikh lalai, gunakan kod berikut:
<?=$form->field($model, 'attribute')->widget(yiijuiDatePicker::class, [ 'dateFormat' => 'dd M yy', 'options' => [ 'class' => 'form-control', ], ])?>
Dalam kod di atas, kami telah menggunakan pilihan 'dateFormat' untuk menukar format tarikh kepada 'dd M yy'.
DatePicker juga menyokong pelbagai acara untuk mencetuskan logik tersuai apabila pengguna memilih tarikh. Contohnya, dalam kod di bawah, kami menggunakan acara 'beforeShow' untuk mengira beberapa nilai sebelum memilih tarikh:
<?=$form->field($model, 'attribute')->widget(yiijuiDatePicker::class, [ 'dateFormat' => 'dd M yy', 'options' => [ 'class' => 'form-control', ], 'clientOptions' => [ 'beforeShow' => "function(date, inst) { // 自定义逻辑 }", ], ])?>
Di sini, kami menggunakan pilihan 'clientOptions' untuk menghantar objek JavaScript yang mengandungi acara The dan pengendalinya untuk menyesuaikan. Dalam contoh ini, kami menetapkan acara 'beforeShow' untuk mencetuskan fungsi tanpa nama yang dipanggil "fungsi(tarikh, inst)" dan mengendalikan logik pengiraan.
Akhir sekali, anda mungkin mahu menukar rupa lalai DatePicker. Untuk menyesuaikan gaya, anda boleh menggunakan salah satu daripada pilihan berikut: 'clientOptions' atau 'options'. Anda boleh memanipulasinya secara langsung menggunakan atribut HTML yang disediakan dalam pilihan $options, atau menggunakan kekunci lain seperti 'message', 'events' atau 'cssFile' untuk memanipulasinya secara lanjut.
Kawalan kalendar Yii ialah widget yang sangat berkuasa yang boleh membantu anda melaksanakan pemilih tarikh dengan cepat dan menyediakan banyak pilihan untuk penyesuaian. Sebelum menggunakannya, pastikan anda sudah biasa dengan jQuery dan perpustakaan UI jQuery dan boleh menyesuaikannya jika perlu. Dalam projek akan datang, sila pertimbangkan untuk menggunakan widget DatePicker Yii untuk memudahkan kod anda dan meningkatkan kecekapan pembangunan.
Atas ialah kandungan terperinci Kawalan kalendar dalam rangka kerja Yii: melaksanakan pemilih tarikh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!