Yapılandırma
Modülü geliştirirken ilk adım, yapılandırma verilerini tanımlamaktır.
Yapılandırma verileri modülün içindeki config.php dosyasında bulunur.
return [
'created_at' => 1561714288,
'meta' => [
'name' => "SampleAddon",
'version' => '1.0',
'author' => 'Your name goes here',
'opening-type' => 'normal',
],
'show_on_adminArea' => true,
'show_on_clientArea' => true,
'status' => false,
'access_ps' => [],
'settings' => [],
];
İsim | Türü | Açıklama |
created_at | Unix Time Stamp | Modülün tamamlandığı tarihin unix zaman damgası |
meta/name | String | Modülün Adı |
meta/version | String | Number | Float | Modülün Versiyon Numarası |
meta/author | String | Modülü Geliştirenin Adı |
meta/opening-type | String | Eklentiler sayfasında "Ayarlamalar" butonuna basıldığında açılma stilini belirler. Alabileceği Değerler: - normal : Diğer tüm eklentileri gizler ve yapılandırma ayarları açılır. - modal : Eklentinin yapılandırma ayarlarını modal içerisinde gösterir. |
show_on_adminArea | Boolean | Eklentinin durmu aktifleştirilmişse menü üzerinde "Araçlar > Eklentiler >" altında gözükecektir. |
show_on_clientArea | Boolean | Eklentinin durmu aktifleştirilmişse müşteri paneli yan menüsünde gözükecektir. |
status | Boolean | Eklentinin mevcut durmunu belirler. |
access_ps | Array | Eklentinin erişim kontrolünü belirler, içerisine yetki grubunun ID numaraları tanımlanır. |
settings | Array | Yapılandırma alanları için girilen verileri barındırır. |
Yapılandırma Alanları Tanımlama
Sınıfın içerisine fields adında bir fonksiyon oluşturmalısınz, geri dönecek değer dizi olmalıdır.
Desteklenen yapılandırma alan türleri aşağıdakileri içerir:
- Metin
- Parola
- Onay Düğmeleri
- Açılır Menüler
- Yuvarlak (Radio) Seçme Butonları
- Metin Alanları
Aşağıda, her bir alan tipi için mevcut parametrelerin örnekleri verilmiştir.
public function fields(){
$settings = isset($this->config['settings']) ? $this->config['settings'] : [];
return [
'example1' => [
'wrap_width' => 100,
'name' => "Text Box",
'description' => "Text Box Description",
'type' => "text",
'value' => isset($settings["example1"]) ? $settings["example1"] : "",
'placeholder' => "sample placeholder",
],
'example2' => [
'wrap_width' => 100,
'name' => "Password Box",
'description' => "Password Box Description",
'type' => "password",
'value' => isset($settings["example2"]) ? $settings["example2"] : "sample",
'placeholder' => "sample placeholder",
],
'example3' => [
'wrap_width' => 100,
'name' => "Approval Button",
'description' => "Approval Button Description",
'type' => "approval",
'checked' => isset($settings["example3"]) && $settings["example3"] ? true : false,
],
'example4' => [
'wrap_width' => 100,
'name' => "Dropdown Menu 1",
'description' => "Dropdown Menu 1 Description",
'type' => "dropdown",
'options' => "Option 1,Option 2,Option 3,Option 4",
'value' => isset($settings["example4"]) ? $settings["example4"] : "Option 2",
],
'example5' => [
'wrap_width' => 100,
'name' => "Dropdown Menu 2",
'description' => "Dropdown Menu 2 Description",
'type' => "dropdown",
'options' => [
'opt1' => "Option 1",
'opt2' => "Option 2",
'opt3' => "Option 3",
'opt4' => "Option 4",
],
'value' => isset($settings["example5"]) ? $settings["example5"] : "opt2",
],
'example6' => [
'wrap_width' => 100,
'name' => "Circular(Radio) Button 1",
'description' => "Circular(Radio) Button 1",
'width' => 40,
'description_pos' => 'L',
'is_tooltip' => true,
'type' => "radio",
'options' => "Option 1,Option 2,Option 3,Option 4",
'value' => isset($settings["example6"]) ? $settings["example6"] : "Option 2",
],
'example7' => [
'wrap_width' => 100,
'name' => "Circular(Radio) Button 2",
'description' => "Circular(Radio) Button 2 Description",
'description_pos' => 'L',
'is_tooltip' => true,
'type' => "radio",
'options' => [
'opt1' => "Option 1",
'opt2' => "Option 2",
'opt3' => "Option 3",
'opt4' => "Option 4",
],
'value' => isset($settings["example7"]) ? $settings["example7"] : "opt2",
],
'example8' => [
'wrap_width' => 100,
'name' => "Text Area",
'description' => "Text Area Description",
'rows' => "3",
'type' => "textarea",
'value' => isset($settings["example8"]) ? $settings["example8"] : "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.",
'placeholder' => "sample placeholder",
],
];
}
Yapılandırma Alanlarını Kaydetme
Sınıfın içerisine save_fields adında bir fonksiyon oluşturmalısınz, geri dönecek değer dizi olmalıdır.
Fonksiyona gelen parametre'de yapılandırma alanına tanımlanan değerleri array veri tipinde getirmektedir.
Parametre'de yaptığınız değişiklikleri fonksiyonda geri göndermelisiniz.
Bir hata durumunda boolean veri türünde "false" döndürünüz, hata mesajı için $this->error değişkenini kullanmalısınız.
public function save_fields($fields=[]){
if(!isset($fields['example1']) || !$fields['example1']){
$this->error = $this->lang["error1"];
return false;
}
return $fields;
}