Geliştirici Merkezi

TR

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;
}
Başlarken Etkinleştirme & Etkisizleştirme

Bir Sorunuz mu Var?

Bize yazmaktan çekinmeyin. En kısa sürede yanıt göndereceğiz.
Bize Ulaşın.
Copyright © 2024. All Rights Reserved.
Join Our Discord Channel
Top