|
Joomla Kodlarına Giriş - 6 |
|
Yazar Soner Ekici
|
|
Cumartesi, 07 Temmuz 2007 |
Ş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 $okudurumu 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.
|
|
|
|