Joomla‘nın standart üye kayıt formu bildiğimiz gibi gayet kısıtlı sorgu alanları içeriyor, bu nedenle fazladan bir kaç alan eklemek için ya Community Builder üye profil bileşenini kullanıyor yahutta bir başka form bileşenine ihtiyaç duyuyoruz. Halbuki bir kaç fazladan ek alan için ayrı bir bileşen kullanmadan da bu işe çözüm bulabiliriz.
Joomlamızın çekirdek 3 dosyasında yapacağımız bu değişiklikle, üye kayıt formumuza nasıl ek alanları ekleyeceğimizi göreceğiz. Örneğimizde, kayıtta üyelerimizden ek olarak “meslek” ve “telefon no” eklemek suretiyle bu işlemin nasıl yapılacağını sizlerle paylaşmak istiyorum. Öncelikle veritabanımızdaki üye bilgilerinin tutulduğu tablomuz olan “jos_users” tablosu içine ek iki tane alan eklememiz lazım. Bunu da aşağıdaki sql sorgusunu veritabanımıza girip “SQL” butonuna basarak sorgu penceresine akleyip çalıştıralım.
ALTER TABLE jos_users ADD meslek VARCHAR (100) NOT NULL AFTER name; ALTER TABLE jos_users ADD telefon VARCHAR (100) NOT NULL AFTER meslek;
Görüldüğü gibi kullanıcının adından hemen sonra meslek adında bir alan ekliyor ve ikinci sorguda da meslek alanından sonra telefon alanını ekliyoruz. Şimdi joomla dosyalarımızda yapacağımız değişiklikleri görelim.
“libraries/joomla/database/table/user.php” dosyasını açalım ve aşağıdaki kod kümesini bulalım.
var $name = null; /** * The login name * * @var string */
Hemen bu kodumuzun ardına aşağıdaki kod kümesini ekleyelim.
var $meslek= null; var $telefon= null;
Şimdi bir diğer dosyamızdaki değişikliği yapmak üzere, “components/com_user/views/register/tmpl/default.php” dosyasını açalım ve aşağıdaki kod kümesini bulalım.
<tr> <td width=”30%” height=”40″> <label id=”namemsg” for=”name”> <?php echo JText::_( ‘Name’ ); ?>: </label> </td> <td> <input type=”text” name=”name” id=”name” size=”40″ value=”<?php echo $this->user->get( ‘name’ );?>” class=”inputbox required” maxlength=”50″ /> * </td> </tr>
Bu kodlarımızın hemen ardına aşağıdaki kodları ekleyelim.
<tr> <td width=”30%” height=”40″> <label id=”meslekmsg” for=”meslek”><?php echo JText::_( ‘Meslek’ ); ?>: </label> </td> <td> <input type=”text” name=”meslek” id=”meslek” size=”40″ value=”<?php echo $this->user->get( ‘meslek’ );?>” class=”inputbox required” maxlength=”50″ /> * </td> </tr> <tr> <td width=”30%” height=”40″> <label id=”telefonmsg” for=”telefon”><?php echo JText::_( ‘Telefon’ ); ?>: </label> </td> <td> <input type=”text” name=”telefon” id=”telefon” size=”40″ value=”<?php echo $this->user->get( ‘telefon’ );?>” class=”inputbox required” maxlength=”50″ /> * </td> </tr>
Son olarak “components/com_user/views/user/tmpl/form.php” dosyasında aşağıdaki kod kümesini bulalım.
<tr> <td width=”120″> <label for=”name”> <?php echo JText::_( ‘Your Name’ ); ?>: </label> </td> <td> <input class=”inputbox required” type=”text” id=”name” name=”name” value=”<?php echo $this->user->get(’name’);?>” size=”40″ /> </td> </tr>
Bu kodların hemen ardına da aşağıdaki kodlarımızı ekleyelim ve her üç dosyamızı kaydedip bulundukları dizinlere atalım.
<tr> <td width=”120″> <label for=”meslek”> <?php echo JText::_( ‘Meslek’ ); ?>: </label> </td> <td> <input class=”inputbox” type=”text” id=”meslek” name=”meslek” value=”<?php echo $this->user->get(’meslek’);?>” size=”40″ /> </td> </tr> <tr> <td width=”120″> <label for=”telefon”> <?php echo JText::_( ‘Telefon’ ); ?>: </label> </td> <td> <input class=”inputbox” type=”text” id=”telefon” name=”telefon” value=”<?php echo $this->user->get(’telefon’);?>” size=”40″ /> </td> </tr>
Kaynak : mmcn.org - Üyelik Formuna Ek Alan Ekleme










HEADER
Ayrıca Bunu form oluşturma Eklentisiyle Yapabilirmiyim?
RSS