Joomla Kodlarına Giriş (Bölüm 6)

Bu yazı dizisi ile joomla 1.0.x sürümünün kodlarına giriş yaparak kendimizi joomla konusunda daha çok geliştirmeye çalışacağız.

Şimdi mainFrame sınıfından sonra en çok kullanacağımız sınıf olan mosHTML sınıfını anlatalım. mosHTML sınıfı içerisindeki fonksiyonlarla html formları oluşturmak oldukça kolay olacaktır.

İlk fonksiyonumuz olan makeOption fonksiyonumuz sayesinde birden çok seçenekli bir form üretebiliriz. Örneğin; bir form bileşeni yapıyoruz ve bu bileşen içerisinde "Okul Durumu" etiketinde bir seçeneğimiz olsun ve bu etiket için seçeneklerimizi oluşturalım.


//Bir dizi oluşturuyoruz.

    $okuldurumu = array();



    //Bu dizinin elemanlarını $okuldurumu[] ile oluşturalım.

    $okuldurumu[] = mosHTML::makeOption('1', 'Okur-Yazar Değil');

    $okuldurumu[] = mosHTML::makeOption('2', 'İlkokul');

    $okuldurumu[] = mosHTML::makeOption('3', 'Ortaokul');

    $okuldurumu[] = mosHTML::makeOption('4', 'Lise');

    $okuldurumu[] = mosHTML::makeOption('5', 'Üniversite');



Bu kodlardan da anlaşılacağı üzere makeOption kullanımı;

mosHTML::makeOption('değer', 'Gösterilecek Yazı'); şeklindedir.

Formumuzda okul durumunu göstermek istiyorsak selectList fonksiyonuna $okuldurumu dizisini göndermemiz gerekiyor;


$okul = mosHTML::selectList($okuldurumu, 'okuldurumu', 'class=inputbox', 'value', 'text');



ve son olarak $okul değerini gösterelim.


echo "Okul Durumu: ".$okul;



Böylece yaptığımız formumuza bir alan yaptık. Burada hemen selectList fonksiyonundan bahsedelim.
Kullanımı şu şekildedir;


mosHTML::selectList('listelenecek değerler', 'bu değerlerin formdaki değeri', 'varsa ek html kodları', 'value', 'text', 'daha önceden bir değer verilmişse o');



Daha önceden bir değer verilmişse fonksiyonda belirtilen yere onu koyarsanız oluşturulan listede o seçilmiş olarak (selected) gelecektir.

Bir diğer fonksiyonumuz integerSelectList fonksiyonu olup belli bir değerden başlayıp bir değere kadar belli aralıklarla herhangi bir değeri oluşturmamızı sağlar. Örnekle açıklayacak olursak; bir bileşenimiz var ve burada sıralanan linklerimiz olsun. Bu linklerin sayısını değiştirecek bir seçenek oluşturalım. Bu seçenekte ilk rakam 10 olsun ve 100 e kadar 10 ar 10 ar artarak gitsin. Kodumuz şu şekilde olacaktır;


$siralama = mosHTML::integerSelectList(10, 100, 10, 'siralama', 'class=inputbox');

    echo $siralama;



Eğer 5 er li artmasını isteseydik;


$siralama = mosHTML::integerSelectList(10, 100, 5, 'siralama', 'class=inputbox');

    echo $siralama;



şeklinde bir kod yazacaktık. Aynı selectList fonksiyonunda olduğu gibi integerSelectList fonksiyonunda da eğer daha önceden seçilmiş bir değer varsa onu seçili olarak getirmek için;


$siralama = mosHTML::integerSelectList(10, 100, 10, 'siralama', 'class=inputbox', 'seçili değer');

    echo $siralama;



şeklinde bir kod kullanmamız gerekecektir.

Bir diğer fonksiyonumuz monthSelectList fonksiyonudur. Bu fonksiyon sayesinde kolayca aylardan oluşan bir liste yapmamız mümkündür. Örneğin;


$aylar = mosHTML::monthSelectList('aylar', 'class=inputbox');

    echo $aylar;



Bir diğer fonksiyon olan treeSelectList ile alt dalları olan bir diziyi seçme kutusuna kolayca yerleştirmek mümkündür. Bu dalların ana dallarının değerlerini sql ile oluştururken 'parent' olarak belirtmek zorundayız. Fonksiyonun kullanımı buradan sonra oldukça kolaydır. Göstermek istediğimiz dalın id ve ana dal değerini 'parent' olarak bir dizi içerisinde göndermemiz gerekiyor. Bu dizinin adı $dizi olsun. Örneğin;


$dalgoster = mosHTML::treeSelectList( $dizi, 'orada gosterilen liste öğesinin id numarası', '', 'dallar', 'class=inputbox', 'value', 'text', 'seçili dal' );

    echo $dalgoster;



Bu fonksiyon biraz karışık gibi gelebilir. PHP ve MySQL konusunda biraz uzman olmanız fonksiyonu kullanmanız adına oldukça faydalı olacaktır.

Bir diğer ve güzel fonksiyon yesnoSelectList fonksiyonudur. Kullanımı oldukça kolay olup html sayfası görüntülendiğinde kişiye 2 seçenek sunar. Örneğin;


$evlimisin = mosHTML::yesnoSelectList('evlimisin', 'class=inputbox', 'daha onceden seçilmiş değer');

    echo $evlimisin;



Bu fonksiyonu şu şekilde de kullanabiliriz;


$cinsiyet = mosHTML::yesnoSelectList('cinsiyet', 'class=inputbox', 'Erkek', 'Bayan', 'daha önceden seçilmiş değer');

    echo $cinsiyet;



Yukarıdaki fonksiyonu radio olarak göstermek istersek eğer radioList fonksiyonu bizim işimizi gayet iyi görecektir. Fonksiyonun kullanımı şöyledir;


//Dizimizi oluşturalım

    $medenihal = array(

                mosHTML::makeOption( '0', 'Evli' ),

                mosHTML::makeOption( '1', 'Bekar' ),

                 mosHTML::makeOption('2', 'Dul')

            );



    $durum = mosHTML::radioList($medenihal, 'durum', 'class=inputbox', 'daha onceden seçilmiş değer', 'value', 'text');

    echo $durum;



Buna benzer bir radio fonksiyonu ile 2 seçenekli seçim yaptırabiliriz. Bunun için yesnoRadioList fonksiyonunu kullanabiliriz. Örneğin;


$evlimisin = mosHTML::yesnoRadioList('evlimisin', 'class=inputbox');

    echo $evlimisin;



Veya bunu şöyle de kullanabiliriz;


//Kahvaltı yapma zamanı

    $kahvaltiyapma = mosHTML::yesnoRadioList('kahvalti', 'class=inputbox', 'daha önceden seçili olan değer', 'Sabah', 'Aksam');



Bu kod ile kişiye kahvaltıyı sabah mı yoksa akşam mı yaptıgını sorabiliriz. Sadece bir tanesini seçebilecektir.

Bir diğer fonksiyonumuz cleanText fonksiyonu olup bu fonksiyona gönderdiğimiz bir metnin içerisindeki çeşitli html kodlarını ayıklayarak bize temizlenmiş bir metin vermesidir. Örneğin;


$text = '<a href="index.php">Link</a><script language="text/javascript"></script>';



Bu metni;


$text = mosHTML::cleanText($text);



yapar ve;


echo $text;



yaparsanız, yazdığımız kod ile gösterilen kod arasındaki farkı görür, cleanText fonksiyonunun ne yapmaya çalıştığını daha iyi anlarsınız.
  • Etiketler;
Soner Ekici
1981 yılında Denizli' de doğdu. 1999 yılında başladığı PHP ve MySQL çalışmalarına 2004-2011 yılları arasında Joomla! ile devam etti. Joomla! için çeşitli eklentiler kodladı, eğitimler düzenledi. Halen PHP ve MySQL ile çalışmalara devam etmektedir.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git