22
Membuat halaman pengaturan bg Kami akhir tujuan. Halaman pengaturan. Dan apa yang dapat dilakukan. Ada tubuh besar pengetahuan yang kita harus menutupi dalam mengikuti melalui dokumen ini dan dengan demikian saya pikir cara terbaik untuk menulis ini sebagai tutorial. Niat saya untuk tutorial ini adalah untuk meniru tema standar tetapi dengan halaman pengaturan yang memungkinkan administrator untuk mengatur warna latar belakang, menetapkan logo untuk digunakan dengan halaman, dan mungkin beberapa pengaturan kecil lainnya untuk mengubah cara di mana tema adalah ditampilkan. Saya akan mulai tutorial ini dengan menciptakan tema baru yang

Membuat halaman pengaturan background

Embed Size (px)

DESCRIPTION

Belajar PHP

Citation preview

Page 1: Membuat halaman pengaturan background

Membuat halaman pengaturan bg

Kami akhir tujuan. Halaman pengaturan.

Dan apa yang dapat dilakukan.

Ada tubuh besar pengetahuan yang kita harus menutupi dalam mengikuti melalui dokumen ini dan dengan demikian saya pikir cara terbaik untuk menulis ini sebagai tutorial.

Niat saya untuk tutorial ini adalah untuk meniru tema standar tetapi dengan halaman pengaturan yang memungkinkan administrator untuk mengatur warna latar belakang, menetapkan logo untuk digunakan dengan halaman, dan mungkin beberapa pengaturan kecil lainnya untuk mengubah cara di mana tema adalah ditampilkan.

Saya akan mulai tutorial ini dengan menciptakan tema baru yang akan sebagian besar merupakan copy / paste dari tema standar saat ini. Saya berharap bahwa siapa saja yang bekerja melalui tutorial ini sebelumnya telah membaca tutorial saya menulis di menciptakan tema pertama Anda . Jika Anda belum pergi membaca sekarang karena aku tidak akan pergi ke banyak detail sampai kita sampai ke proses yang sebenarnya untuk menyesuaikan tema dan memperkenalkan halaman pengaturan.

Page 2: Membuat halaman pengaturan background

Jadi sebelum kami akhirnya mendapatkan ini mulai pastikan Anda dapat memeriksa dari segala sesuatu pada daftar persyaratan berikut.

Memiliki instalasi Moodle yang telah diinstal dan dikonfigurasi dan siap untuk digunakan.

Memiliki penuh membaca / menulis akses ke instalasi itu. Bersiaplah untuk menghapus instalasi pada akhir ini ... kami akan menghancurkannya! Memiliki lingkungan pengembangan dan siap untuk digunakan. Ini termasuk:

o Editor favorit Anda diinstal, berjalan, dan menunjuk pada direktori tema instalasi Anda.

o Anda browser terbuka dan terlihat situs Anda. o Sebuah panci berdasar kopi ... decaf tidak akan membantu Anda dengan yang satu

ini. Memiliki menetapkan pengaturan berikut:

o themedesignermode jika Anda tidak tahu apa ini silakan baca menciptakan tema pertama Anda tutorial.

o allowthemechangeonurl mengaktifkannya, memungkinkan Anda untuk mengubah tema pada URL dan sangat berguna ketika mengembangkan tema. Site Administration> Appearance> Tema> Tema pengaturan

o langstringcache jika Anda tidak menonaktifkannya Anda tidak akan melihat string Anda ketika mereka ditambahkan Administrasi Situs>. Bahasa> Pengaturan bahasa

Dan akhirnya ambisi gila untuk membuat tema disesuaikan.

Bagi mereka yang tertarik tema yang saya buat seluruh tutorial ini dapat didownload dari posting forum di mana saya mengumumkan dokumen ini: http://moodle.org/mod/forum/discuss.php?d=152053

Kami tujuan untuk tutorial ini

Berikut ini adalah hanya tujuan daftar yang saya harap untuk mencapai selama tutorial ini. Mereka meletakkan di sini sehingga saya dengan mudah dapat merujuk kembali kepada mereka dan agar Anda dapat dengan mudah menemukan mereka.

1. Buat tema baru yang disebut Demystified berdasarkan tema standar dalam Moodle 2.0. 2. Membuat beberapa perubahan kecil dengan tema yang memungkinkan kita untuk lebih

mudah melihat apa yang sedang terjadi. 3. Buat halaman pengaturan untuk tema demistifikasi. 4. Tambahkan beberapa pengaturan untuk halaman pengaturan kami. 5. Gunakan beberapa pengaturan tersebut untuk mengubah CSS kami. 6. Gunakan sisa pengaturan tersebut dalam file layout kami .. 7. Diskusikan baik, yang buruk, dan batas-batas apa yang baru saja kita buat.

Jadi saya bisa melihat Anda semua sangat bersemangat tentang hal ini dan bahwa Anda ingin tahu apa pengaturan kita akan menciptakan; Jadi di sini mereka adalah:

Page 3: Membuat halaman pengaturan background

Pengaturan A ke ...

mengubah warna latar belakang (CSS). mengatur path ke gambar yang akan kita gunakan sebagai logo pada semua halaman (file

Layout). menimpa lebar daerah blok (CSS). memungkinkan catatan yang akan ditambahkan ke footer dari semua halaman (file

Layout). memungkinkan kustom CSS akan ditulis untuk melakukan apa pun yang diinginkan

pengguna. (CSS)

Membuat tema Demystified

Sebelum kita mulai di sini saya ingin mengingatkan Anda bahwa saya akan melihat ini hanya sebentar karena saya membuat asumsi bahwa Anda telah membaca membuat tema pertama Anda tutorial.

Nah mari kita ke dalamnya ....

Hal pertama yang perlu kita lakukan adalah membuat sebuah direktori untuk tema kita yang akan kita sebut demistifikasi.

Jadi dalam direktori Moodle Anda membuat folder berikut moodle / theme / demistifikasi. Pada saat yang sama Anda juga dapat membuat file-file berikut dan folder yang kita akan mendapatkan segera.

File moodle / theme / Demystified / config.php untuk informasi konfigurasi kita. Direktori moodle / theme / Demystified / layout untuk file tata letak kami. Direktori moodle / theme / Demystified / style untuk file css kita. File moodle / theme / Demystified / style / core.css yang akan berisi CSS khusus kami.

Selanjutnya kita akan menyalin file tata letak dari tema dasar untuk tema baru kami demistifikasi. Kami mendasarkan tema Demystified pada tema standar namun yang tidak menggunakan file itu sendiri tata letak menggunakan tata letak file tema dasar jadi mereka adalah orang-orang yang kita inginkan.

Alasan bahwa kita mengatasi tata letak file-file ini adalah bahwa nanti dalam tutorial ini kita akan memodifikasi mereka untuk menggunakan pengaturan baru kami ... jadi menyalin semua file tata letak dari moodle / theme / base / tata letak moodle / theme / Demystified / tata letak.

Harus ada tiga file yang baru saja Anda disalin:

1. embedded.php 2. frontpage.php 3. general.php

Page 4: Membuat halaman pengaturan background

Sekarang kita perlu mengisi Demystified / config.php dengan pengaturan untuk tema baru kami. Mereka adalah sebagai berikut:

$ THEME -> name = 'Demystified';

Cukup menetapkan nama tema kita.

$ THEME -> tua = array ('standar', 'dasar');

Tema ini adalah memperluas baik tema standar dan tema dasar. Ingat ketika memperpanjang tema Anda juga perlu untuk memperpanjang tua atau hal-hal yang mungkin tidak bekerja dengan benar.

$ THEME -> lembar = array ('inti');

Ini memberitahu tema kita bahwa kita ingin menggunakan file Demystified / style / core.css dengan tema ini.

$ THEME -> layout = array ( / Tata letak / kompatibel Kebanyakan mundur tanpa blok - ini adalah tata letak yang digunakan secara default 'Dasar' => array ( 'File' => 'general.php', 'Daerah' => array (), ), Tata letak / / Standar dengan blok, ini dianjurkan untuk sebagian besar halaman dengan informasi umum 'Standar' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', ), / / Halaman Main course 'Tentu saja' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', 'Pilihan' => array ('langmenu' => true), ), 'Coursecategory' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', ), / / Bagian saja, khas untuk modul - standar tata letak halaman jika $ cm ditentukan dalam require_login () 'Incourse' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', ), / / Home page situs. 'Frontpage' => array (

Page 5: Membuat halaman pengaturan background

'File' => 'frontpage.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', ), / / Server skrip administrasi. 'Admin' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre'), 'Defaultregion' => 'side-pre', ), / / Dashboard My page 'Mydashboard' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', 'Pilihan' => array ('langmenu' => true), ), / / Halaman publik saya 'Mypublic' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', ), 'Login' => array ( 'File' => 'general.php', 'Daerah' => array (), 'Pilihan' => array ('langmenu' => true), ),

/ / Halaman yang muncul dalam jendela pop-up - tidak ada navigasi, tidak ada blok, header tidak. 'Popup' => array ( 'File' => 'general.php', 'Daerah' => array (), 'Pilihan' => array ('nofooter' => true, 'nonavbar' => true, 'nocustommenu' => true), ), / / Ada blok dan minim footer - digunakan untuk layout bingkai satunya warisan! 'Frametop' => array ( 'File' => 'general.php', 'Daerah' => array (), 'Pilihan' => array ('nofooter' => true), ), / / Halaman diembed, seperti iframe / objek diembed di moodleform - itu membutuhkan ruang sebanyak mungkin 'Tertanam' => array ( 'File' => 'embedded.php', 'Daerah' => array (), 'Pilihan' => array ('nofooter' => true, 'nonavbar' => true, 'nocustommenu' => true), ), / / Digunakan selama proses upgrade dan menginstal, dan untuk 'Situs ini menjalani perawatan' pesan. / / Ini tidak harus memiliki blok, dan itu adalah ide yang baik jika tidak memiliki link ke / / Tempat-tempat lain - misalnya tidak boleh ada link rumah di footer ...

Page 6: Membuat halaman pengaturan background

'Pemeliharaan' => array ( 'File' => 'general.php', 'Daerah' => array (), 'Pilihan' => array ('noblocks' => true, 'nofooter' => true, 'nonavbar' => true, 'nocustommenu' => true), ), );

Sekarang semua terlihat sangat rumit namun benar-benar tidak terlalu buruk karena hanya disalin dari file config.php tema dasar ini. Kita bisa melakukan ini karena kita menyalin file tata letak dari tema dasar untuk memulai dan untuk saat ini tidak ada perubahan yang kita ingin membuat. Cukup membuka theme / base / config.php dan menyalin layout dari sana.

Dan itu saja. File config.php untuk tema kami Demystified selesai. Sumber penuh ditunjukkan di bawah ini:

<? Php

/ / File ini merupakan bagian dari Moodle - http://moodle.org/ / / / / Moodle adalah perangkat lunak bebas: Anda dapat menyebarluaskannya dan / atau memodifikasi / / Di bawah ketentuan GNU General Public License seperti yang diterbitkan oleh / / Free Software Foundation, baik versi 3 dari Lisensi, atau / / (Sesuai pilihan Anda) versi lain. / / / / Moodle didistribusikan dengan harapan bahwa itu akan berguna, / / Tetapi TANPA JAMINAN APAPUN; bahkan tanpa jaminan tersirat / / DIPERDAGANGKAN atau KECOCOKAN UNTUK TUJUAN TERTENTU. Lihat / / GNU General Public License untuk rincian lebih lanjut. / / / / Anda seharusnya menerima salinan dari GNU General Public License / / Bersama dengan Moodle. Jika tidak, lihat <http://www.gnu.org/licenses/>.

/ ** * Konfigurasi Demystified Tema berkas * * Tema ini dibuat untuk mendokumentasikan proses penambahan halaman pengaturan untuk tema * * @ Copyright 2010 Sam Hemelryk * @ Lisensi GNU GPL v3 http://www.gnu.org/copyleft/gpl.html atau lambat * /

/ / Nama tema kita $ THEME -> name = 'Demystified';

/ / Tema lainnya tema ini meluas $ THEME -> tua = array ('standar', 'dasar');

/ / CSS file tema ini menggunakan (terletak di direktori gaya) $ THEME -> lembar = array ('inti');

Page 7: Membuat halaman pengaturan background

/ / Definisi Tata letak untuk tema ini $ THEME -> layout = array ( / Tata letak / kompatibel Kebanyakan mundur tanpa blok - ini adalah tata letak yang digunakan secara default 'Dasar' => array ( 'File' => 'general.php', 'Daerah' => array (), ), Tata letak / / Standar dengan blok, ini dianjurkan untuk sebagian besar halaman dengan informasi umum 'Standar' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', ), / / Halaman Main course 'Tentu saja' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', 'Pilihan' => array ('langmenu' => true), ), 'Coursecategory' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', ), / / Bagian saja, khas untuk modul - standar tata letak halaman jika $ cm ditentukan dalam require_login () 'Incourse' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', ), / / Home page situs. 'Frontpage' => array ( 'File' => 'frontpage.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', ), / / Server skrip administrasi. 'Admin' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre'), 'Defaultregion' => 'side-pre', ), / / Dashboard My page 'Mydashboard' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'), 'Defaultregion' => 'side-post', 'Pilihan' => array ('langmenu' => true), ), / / Halaman publik saya 'Mypublic' => array ( 'File' => 'general.php', 'Daerah' => array ('side-pre', 'side-pos'),

Page 8: Membuat halaman pengaturan background

'Defaultregion' => 'side-post', ), 'Login' => array ( 'File' => 'general.php', 'Daerah' => array (), 'Pilihan' => array ('langmenu' => true), ),

/ / Halaman yang muncul dalam jendela pop-up - tidak ada navigasi, tidak ada blok, header tidak. 'Popup' => array ( 'File' => 'general.php', 'Daerah' => array (), 'Pilihan' => array ('nofooter' => true, 'nonavbar' => true, 'nocustommenu' => true), ), / / Ada blok dan minim footer - digunakan untuk layout bingkai satunya warisan! 'Frametop' => array ( 'File' => 'general.php', 'Daerah' => array (), 'Pilihan' => array ('nofooter' => true), ), / / Halaman diembed, seperti iframe / objek diembed di moodleform - itu membutuhkan ruang sebanyak mungkin 'Tertanam' => array ( 'File' => 'embedded.php', 'Daerah' => array (), 'Pilihan' => array ('nofooter' => true, 'nonavbar' => true, 'nocustommenu' => true), ), / / Digunakan selama proses upgrade dan menginstal, dan untuk 'Situs ini menjalani perawatan' pesan. / / Ini tidak harus memiliki blok, dan itu adalah ide yang baik jika tidak memiliki link ke / / Tempat-tempat lain - misalnya tidak boleh ada link rumah di footer ... 'Pemeliharaan' => array ( 'File' => 'general.php', 'Daerah' => array (), 'Pilihan' => array ('noblocks' => true, 'nofooter' => true, 'nonavbar' => true, 'nocustommenu' => true), ), );

Screenshot di bawah ini menunjukkan baik struktur direktori yang telah kita buat sekarang dan tema saat ini.

Page 9: Membuat halaman pengaturan background

Untuk melihat tema sejauh membuka browser dan Anda masukkan URL dari situs Anda diikuti dengan tema = demistifikasi?. Anda harus melihat tema yang baru saja kita buat yang akan terlihat persis seperti tema standar dasar.

Hal terakhir yang ingin kita lakukan adalah menambahkan sedikit CSS untuk tema Demystified yang akan baik secara visual mengatur tema ini terpisah dari tema standar dan kedua membangun basis yang pengaturan kami nantinya dapat memperpanjang.

Saya menambahkan potongan berikut dari CSS ke file Demystified / style / core.css.

html {background-color: # DDD;} body {margin: 30px; padding: 0; border: solid 1px # 333, border-width: 0 10px 0 10px; background-color: # 333;} Tubuh # page {background-color: # FFF; position: relative; top: - 10px;} .. Blok header {background-image: none; background-color: # 0C5CAC; border: solid 1px # 0C5CAC, warna: # FFF;} Blok {border-color: # 4BA7FF, background-color: # DDEEFF;}. .. Memblokir konten {background-color: # F1F8FF;} a: link, a: visited {color: # 0C5CAC;} a: hover {color: # C77500;} # Halaman # page-header {background-color: # 0C5CAC; margin: 0; padding: 0; width: 100%; color: # fff;} # # Halaman page-header: link, # # halaman page-header: visited {color: #

Page 10: Membuat halaman pengaturan background

FFAC02} # Halaman # page-header navbar, # # halaman page-header navbar a: link, # # halaman page-header navbar a: dikunjungi... {Color: # 0C5CAC;}

CSS yang kita baru saja ditambahkan ke tema kita menetapkan beberapa warna di halaman depan. Saat ini adalah CSS satunya saya akan menambahkan, aku tahu itu tidak lengkap dengan cara apapun tapi mencapai tujuan itu sebagai gambar di bawah menggambarkan.

Gaya baru Demystified tema

Dan dengan itu saya akan pindah ke tujuan yang sesungguhnya dari tutorial ini, membuat halaman pengaturan

Menyiapkan halaman pengaturan

Dengan tema Demystified mengatur saatnya untuk membuat halaman pengaturan. Ini adalah tempat menyenangkan PHP sebenarnya dimulai.

Page 11: Membuat halaman pengaturan background

Bagi anda yang kebetulan menjadi akrab dengan pengembangan modul, blok atau tipe plugin lain yang Anda mungkin mengalami halaman pengaturan sebelum dan ini tidak akan menjadi berbeda.

Namun bagi mereka yang belum yang saya bayangkan adalah sebagian besar dari Anda ini akan menjadi cukup tantangan. Saya akan mencoba untuk berjalan melalui langkah demi langkah ini namun jika pada suatu titik Anda terjebak jangan ragu untuk bertanya di forum seperti yang saya bayangkan Anda akan mendapatkan respon cepat.

Bagaimana pengaturan halaman bekerja di Moodle

Pengaturan halaman dapat digunakan oleh hampir setiap jenis plugin, tema yang tentu saja salah satu. Cara di mana semuanya bekerja tidak terlalu rumit untuk mengerti.

Semua pengaturan untuk Moodle dapat dikonfigurasi melalui interface administrator saat login saya yakin bahwa semua orang di sini telah melihat halaman tersebut dan telah berubah pengaturan atau dua sebelum jadi kalian semua akan tahu apa yang saya bicarakan. Nah halaman pengaturan untuk tema tidak berbeda. Ini akan ditampilkan di pohon administrasi halaman di bawah Penampilan> Tema dan semua harus kita lakukan adalah memberitahu Moodle apa pengaturan ada.

Hal ini dilakukan dengan membuat sebuah file settings.php dalam tema kami ke mana kita akan menambahkan kode yang memberitahu Moodle tentang pengaturan kita ingin menambahkan / digunakan.

Ketika menceritakan Moodle tentang pengaturan setiap kita hanya membuat contoh admin_setting baru dari jenis yang kita inginkan dan sifat yang kita inginkan dan kemudian menambahkannya ke halaman pengaturan kami.

Ada benar-benar tidak lebih juga itu pada tingkat ini. Hal bisa menjadi sangat kompleks sangat cepat sehingga hal terbaik yang dapat kita lakukan sekarang adalah mulai membuat file settings.php kami untuk tema Demystified dan melihat di mana itu menuntun kita.

Membuat halaman pengaturan

Jadi seperti yang disebutkan sebelumnya kita perlu file settings.php yang akan kita buat sekarang. Untuk mulai dengan membuat tema file / Demystified / settings.php dan buka di dalam editor favorit Anda sehingga siap untuk pergi.

Sebelum kita mulai menambahkan kode namun memungkinkan hanya ingat pengaturan yang ingin kita ciptakan:

mengubah warna latar belakang (CSS). mengatur path ke gambar yang akan kita gunakan sebagai logo pada semua halaman (file

Layout). menimpa lebar daerah blok (CSS).

Page 12: Membuat halaman pengaturan background

memungkinkan catatan yang akan ditambahkan ke footer dari semua halaman (file Layout).

memungkinkan kustom CSS akan ditulis untuk melakukan apa pun yang diinginkan pengguna. (CSS)

Alright.

Sekarang berpikir tentang pengaturan ini yang pertama adalah sebagai dasar karena mendapat, semua yang kita butuhkan adalah sebuah kotak teks bahwa pengguna dapat mengetik warna ke dalam.

Yang kedua adalah untuk memungkinkan logo untuk digunakan dalam header dari setiap halaman. Apa yang kita inginkan di sini adalah jalan tetapi seharusnya ini menjadi jalur fisik misalnya C :/ path / to / image.png atau harus itu menjadi jalur web http://mysite.com/path/to/image.png misalnya? Untuk tujuan tutorial ini saya akan pergi dengan jalan web karena akan menjadi lebih mudah untuk kode dan mudah-mudahan akan menjadi sedikit lebih mudah untuk memahami untuk mulai dengan.

Pengaturan ketiga adalah sedikit lebih kompleks. Untuk ini saya ingin drop down box dengan beberapa lebar tertentu yang administrator dapat memilih.

Keempat dan kelima pengaturan keduanya cukup lurus ke depan, di sana kita ingin textarea di mana pengguna dapat memasukkan apa pun yang mereka inginkan dan kami akan melakukan sesuatu yang berguna dengan itu.

Sekarang bahwa kita memiliki pemahaman tentang pengaturan kita ingin mendefinisikan menarik editor Anda dan mari kita mulai coding ....

<? Php

/ ** * Pengaturan untuk tema Demystified * /

$ Temp = new admin_settingpage ('theme_demystified', get_string ('configtitle', 'theme_demystified'));

Ini adalah bit pertama dari kode kita harus memasukkan, baris pertama tentu saja hanya tag php pembuka, kedua kami memiliki komentar yang menggambarkan file ini, dan kemudian kita mendapatkan membuat objek admin_settingspage baru.

Ini objek admin_settingspage yang kita buat adalah representasi dari halaman pengaturan kami dan merupakan apa yang kita menambahkan pengaturan baru kami untuk. Ketika menciptakan itu kami memberikan dua argumen, pertama nama dari halaman yang dalam hal ini themename theme_ kasus dan judul untuk halaman yang kita dapatkan dengan metode get_string.

Pada saat aku tidak akan khawatir tentang menambahkan string, kita akan mendapatkan itu nanti setelah kami telah mendefinisikan semua pengaturan kami.

Page 13: Membuat halaman pengaturan background

Warna latar belakang

Dengan halaman sekarang dibuat sebagai $ temp kita tambahkan pengaturan pertama kami: Warna latar belakang.

/ Pengaturan / Background color $ Name = 'theme_demystified / backgroundColor'; $ Title = get_string ('backgroundColor', 'theme_demystified'); $ Deskripsi = get_string ('backgroundcolordesc', 'theme_demystified'); $ Default = '# DDD'; $ Pengaturan = new admin_setting_configtext ($ name, $ judul, deskripsi $, $ default, PARAM_CLEAN, 12); $ Temp -> add ($ pengaturan);

Untungnya hal ini tidak sesulit seperti yang awalnya terlihat.

Baris pertama kode adalah menciptakan sebuah variabel untuk nama pengaturan warna latar belakang. Dalam hal ini adalah theme_demystified / backgroundColor.

Nama ini sangat penting, untuk pengaturan yang dapat digunakan kita harus mengikuti konvensi penamaan yang ketat. Theme_ themename / settingname mana themename adalah nama tema pengaturan milik dan settingname adalah nama untuk pengaturan yang kita akan menggunakan itu.

Baris kedua kode menciptakan sebuah variabel yang berisi judul pengaturan. Ini adalah apa yang pengguna melihat di sebelah kanan pengaturan pada halaman pengaturan dan harus merupakan deskripsi singkat dari pengaturan. Di sini kita lagi menggunakan metode get_string jadi kita perlu ingat untuk menambahkan string yang di kemudian hari.

Baris ketiga kode set deskripsi. Hal ini harus menjelaskan apa pengaturan atau bagaimana kerjanya dan lagi kita akan menggunakan metode get_string.

Baris keempat menciptakan sebuah variabel yang akan digunakan sebagai nilai default untuk pengaturan. Karena pengaturan ini adalah warna yang kita inginkan warna HTML menjadi nilai default.

Garis kelima adalah di mana kita menempatkan semuanya bersama-sama. Di sini kita membuat objek admin_setting_configtext baru. Objek ini akan mewakili pengaturan warna latar belakang.

Ketika kita membuat itu kita perlu memberikan 6 hal yang berbeda.

1. Nama pengaturan. Dalam hal ini kita memiliki nama $ variabel. 2. Judul untuk pengaturan ini. Kami menggunakan judul $ variabel. 3. Deskripsi dari deskripsi $ pengaturan. 4. Nilai default untuk pengaturan $ default. Adalah variabel ini.

Page 14: Membuat halaman pengaturan background

5. Jenis nilai yang kita ingin pengguna untuk memasukkan. Untuk ini kita telah menggunakan PARAM_CLEAN yang memberitahu Moodle untuk menyingkirkan setiap nasties dari apa yang pengguna memasukkan.

6. Ukuran lapangan. Dalam kasus kami 12 karakter akan banyak.

Baris keenam dan terakhir dari kode menambahkan baru kami dibuat pengaturan ke halaman administrasi kita buat sebelumnya.

Itulah hal itu kami telah berhasil dibuat dan ditambahkan pengaturan pertama kami, namun ada beberapa yang lebih ke pengaturan yang harus dilakukan, dan ada beberapa hal penting yang Anda butuhkan untuk menjadi sadar sebelum kita melanjutkan.

Pertama: Ada beberapa jenis pengaturan yang Anda dapat membuat dan menambah halaman, dan masing-masing mungkin berbeda dalam apa yang mereka membutuhkan Anda untuk memberi mereka. Dalam hal ini adalah nama, judul, deskripsi, standar, jenis, dan ukuran. Namun pengaturan lain kemungkinan akan membutuhkan hal yang berbeda. Editor pintar seperti Netbeans atau Eclipse dapat memberitahu Anda apa yang dibutuhkan, jika tidak Anda akan perlu untuk melakukan riset itu.

Kedua: Biasanya pengaturan dinyatakan dalam satu baris sebagai berikut:

While this is structurally identical as all we have done is move everything onto one line and do away with the variables it is a little harder to read when you are learning all of this.

The logo file

Time to create the second setting that will allow the user to enter a URL to an image they wish to use as the logo on their site.

// Logo file setting $name = 'theme_demystified/logo' ; $title = get_string ( 'logo' , 'theme_demystified' ) ; $description = get_string ( 'logodesc' , 'theme_demystified' ) ; $setting = new admin_setting_configtext ( $name , $title , $description , '' , PARAM_URL ) ; $temp -> add ( $setting ) ;

The first thing that you will notice about this setting that it is very similar to the first setting, in fact all we have changed is the name, title, description, and default value. We have however changed the value type from PARAM_CLEAN to PARAM_URL, this makes sure the user enters a URL. You will also notice that for this one we don't set a size for the field as we have no idea how long the URL will be.

Block region width

The third setting should allow the user to set a width for the block regions that will be used as columns.

Page 15: Membuat halaman pengaturan background

For this setting I want to do something a little different from the previous two, here I want to use a select box so that the user selects a width for the column from a list I provide.

// Block region width $name = 'theme_demystified/regionwidth' ; $title = get_string ( 'regionwidth' , 'theme_demystified' ) ; $description = get_string ( 'regionwidthdesc' , 'theme_demystified' ) ; $default = 200 ; $setting = new admin_setting_configselect ( $name , $title , $description , $default , $choices ) ; $temp -> add ( $setting ) ;

So looking at the code: The first four lines you will recognise. $name, $title, $description, and $default are all being set.

The fifth line of code however introduces something new. Of course in order to have a select box we have to have options, in this case we have an array of options stored in the variable $choices.

The array of options is constructed of a collection of value => label pairs. Notice how we don't add px to the value. This is is very intentional as later on I need to do a little bit of math with that value so we need it to be a number.

The lines after should look familiar again, the only difference being that instead of a admin_setting_configtext setting we have created a admin_setting_configselect for which we must give the choices for the select box as the fifth argument.

Woohoo, we've just created our first select box setting.

Foot note

Now to create the foot note setting. Here we want the user to be able to enter some arbitrary text that will be used in the footer of the page. For this I want the user to be able to enter some HTML so I will create an editor setting.

// Foot note setting $name = 'theme_demystified/footnote' ; $title = get_string ( 'footnote' , 'theme_demystified' ) ; $description = get_string ( 'footnotedesc' , 'theme_demystified' ) ; $setting = new admin_setting_confightmleditor ( $name , $title , $description , '' ) ; $temp -> add ( $setting ) ;

Bagaimana sederhana adalah bahwa!

It is just about identical to the first two settings except that for this we have created a admin_setting_confightmleditor setting rather than a text setting.

Page 16: Membuat halaman pengaturan background

Note: You can also set the columns and rows for the editor setting using the fifth and sixth arguments.

Custom CSS

The final setting is to allow the user to add some custom CSS to the theme that will be used on every page. I want this to be a plain textarea into which the user can enter CSS.

// Custom CSS file $name = 'theme_demystified/customcss' ; $title = get_string ( 'customcss' , 'theme_demystified' ) ; $description = get_string ( 'customcssdesc' , 'theme_demystified' ) ; $setting = new admin_setting_configtextarea ( $name , $title , $description , '' ) ; $temp -> add ( $setting ) ;

Just like the editor or text settings. It's getting very easy now!

Finishing settings.php

With all of our settings defined and added to our page that we created right at the beginning it is time to finish it all off.

/ / Tambahkan halaman kami untuk struktur pohon admin $ ADMIN -> add ('tema', $ temp);

Baris di atas kode adalah garis akhir untuk halaman. Hal ini menambahkan halaman yang telah kita buat $ temp ke struktur pohon admin. Dalam hal ini adalah menambahkan ke cabang tema.

Berikut ini adalah sumber selesai untuk settings.php kami ..... untuk salinan / kesenangan pasta.

<? Php

/ ** * Pengaturan untuk tema Demystified * /

/ / Buat halaman admin kami $ Temp = new admin_settingpage ('theme_demystified', get_string ('configtitle', 'theme_demystified'));

/ Pengaturan / Background color $ Name = 'theme_demystified / backgroundColor'; $ Title = get_string ('backgroundColor', 'theme_demystified'); $ Deskripsi = get_string ('backgroundcolordesc', 'theme_demystified'); $ Default = '# DDD'; $ Pengaturan = new admin_setting_configtext ($ name, $ judul, deskripsi $, $ default, PARAM_CLEAN, 12); $ Temp -> add ($ pengaturan);

/ Pengaturan / Logo berkas $ Name = 'theme_demystified / logo';

Page 17: Membuat halaman pengaturan background

$ Title = get_string ('logo', 'theme_demystified'); $ Deskripsi = get_string ('logodesc', 'theme_demystified'); $ Pengaturan = new admin_setting_configtext ($ name, $ judul, $ keterangan,'', PARAM_URL); $ Temp -> add ($ pengaturan);

/ / Blok lebar wilayah $ Name = 'theme_demystified / regionwidth'; $ Title = get_string ('regionwidth', 'theme_demystified'); $ Deskripsi = get_string ('regionwidthdesc', 'theme_demystified'); $ Default = 200; $ Pilihan = array (150, 170, 200, 240, 290, 350, 420); $ Pengaturan = new admin_setting_configselect ($ name, $ judul, deskripsi $, $ default, $ pilihan); $ Temp -> add ($ pengaturan);

/ Pengaturan / Foot note $ Name = 'theme_demystified / catatan kaki'; $ Title = get_string ('catatan kaki', 'theme_demystified'); $ Deskripsi = get_string ('footnotedesc', 'theme_demystified'); $ Pengaturan = new admin_setting_confightmleditor ($ name, $ judul, $ keterangan,''); $ Temp -> add ($ pengaturan);

/ / Custom CSS File $ Name = 'theme_demystified / customcss'; $ Title = get_string ('customcss', 'theme_demystified'); $ Deskripsi = get_string ('customcssdesc', 'theme_demystified'); $ Pengaturan = new admin_setting_configtextarea ($ name, $ judul, $ keterangan,''); $ Temp -> add ($ pengaturan);

/ / Tambahkan halaman kami untuk struktur pohon admin $ ADMIN -> add ('tema', $ temp);