Salı, 18 Eylül 2012 20:23

Modül içinde modül çalıştırmak

Yazan 
Öğeyi Oyla
(0 oy)

Joomla!'da modül içinde modül yükleme
Bazı durumlarda belirli şartlara göre bir yerde göstereceğimiz modül değişebilir. Örneğin kullanıcı login olmuşsa bir modülün yerine başka bir modül gösterme isteyebiliriz. Örneğin aşağıdaki kodda kullanıcın diline göre modül yüklüyoruz.

 
 
$lang=getParam("LANGUAGE","tr-TR");
$menu;
if($lang=="tr-TR")
{
 
$menu=JModuleHelper::getModule('mainmenu');
}else{
 
$menu=JModuleHelper::getModule("mainmenu",'engmainmenu');
}
$params        = array('style'=-->'');
echo JModuleHelper::renderModule($menu,$params);
 



JFactory::getUser() ile kullanıcının için kullanıcı nesnesini elde ediyoruz ve arkasında kullanıcı için "LANGUAGE" parametresini çekerek kullanıcı için tanımlı dil etiketini çekiyoruz. Buraya kadar başka bir modülle işlem yapmadık. Şimdi seçilen dile göre JModuleHelper yardımcısını kullanarak modül ismine göre modülümüzü çekiyoruz. Dikkat ederseniz getModule tr-TR şartı altında yalnız modül ismini girerken ingilizce şartında ise bu menünün benzersiz isminide girdik. Bunun sebebi mainmenu modülü için ön tanımlı ve ilk oluşturulan menu müz türkçe menü idi. Daha sonra mainmenu den engmainmenu benzersiz ismi ile bir menü oluşturulmuş. İşte özellikle bu menü yü yüklemez için ikinci parametre olarak getModule fonksiyonunda engmainmenu ismini girdik. En son bu modül iin $params değişkeni ile parametrelir girdik ve renderModule ile modülümüzü başka bir modül içinde çalıştırdık

Okunma 654 defa Son Düzenlenme Salı, 18 Eylül 2012 20:43
Ufuk Yıldırım

Yazılım Geliştirme Uzmanı

Web site: www.ufuk.biz
Bu kategoriden diğerleri: HTML5'e giriş »

Yorum Ekle

Gerekli olan (*) işaretli alanlara gerekli bilgileri girdiğinizden emin olun. HTML kod izni yoktur.