PAYLAŞ
Yazı ya da Modülü Ziyaretçiler Görsün Üyeler Görmesin
-Bu yazı en son 18 Şubat 2017 tarihinde güncellendi-

Çok zaman benzer ihtiyacımız olmuştur. Mambo‘da da bu böyleydi, Joomla! 1.0’da da 1.5‘te de. Joomla 1.6 ise bu konularda daha etkin yönetim özelliklerine sahip olacak. Şu yazıyı veya şu modülü ziyaretçiler görsün ama üyeler giriş yaptığında görmesin denen o kadar çok konuyla karşılaştık ki. Evet, üye giriş modülü mod login üyelerden gizlenebilir.

 Çok zaman benzer ihtiyacımız olmuştur. Mambo‘da da bu böyleydi, Joomla! 1.0’da da 1.5‘te de. Joomla 1.6 ise bu konularda daha etkin yönetim özelliklerine sahip olacak. Şu yazıyı veya şu modülü ziyaretçiler görsün ama üyeler giriş yaptığında görmesin denen o kadar çok konuyla karşılaştık ki. Evet, üye giriş modülü mod login üyelerden gizlenebilir.

Ziyaretçilere gösterdiğiniz her yazı ya da her modülü üyelerin görmesini istememekle haklı olabilirsiniz. Bu tür uygulamalrın kimi her projede kimi ise ihtiyaca binaen kullanılabilir. Tersini yapmak istediğimizde basitçe eklentinin erişim seviyesinden ayarlama yapabiliriz. Ancak asıl ters olan bu sanırım, yani bir şeyi üyelerden gizlemek.

Örneklemeyi forumda bu yazıyı yazmama sebep olan son başlıkta talep edildiği şekilde yapacağım. Temanızın index.php dosyasını açın ve uygun alanı tesbit edin. Bu alan sizin üye olmayanlara vereceğiniz bir uyarı metninin görüneceği yer ya da üyelerden gizleyeceğiniz modül yerleşimi olabilir.Örneğimiz uyarı metni üzerine:

Uyarı yazısı için
<?php   
$user =& JFactory::getUser();
$user_id = $user->get('id');
if (!$user_id)
{
?>
Lütfen üye olun.
<?php
}
 
?>

Yukarıdaki kodu uygun yerde ekleyin. “Lütfen üye olun.” gibi basit bir uyarı notunu, temamızın görünmesini istediğimiz alanına bu şekilde ekledik. Burada yaptığımız şey Joomla!’nın çekirdek otorizasyon dosyasındaki tanıma atıfta bulunmak ve eğer oturum sahibi geçerli bir üye id verisi taşımıyorsa “Lütfen üye olun” uyarısı çıksın demek oldu.

Bir başka örnekte modül yerleşimi için aynı şeyi yapabiliriz:

Modül yerleşimi için ise;
<?php   
$user =& JFactory::getUser();
$user_id = $user->get('id');
if (!$user_id)
{
?>
<jdoc:include type="modules" name="left" />
<?php
}
 
?>

Burada ise left isimli modül yerleşimini, geçerli bir üye id verisi taşımayanlara göster, geçerli bir üye id taşıyorsa gösterme demiş olduk kısaca.

Yöntem ile üye grupları ve belirli üyeler (id numaralarına göre), belirli modüller (id numaralarına göre) için de gösterme/gizleme uygulamaları çalıştırabilirsiniz. Modüller için uygulama biraz daha karışık olacaktır. Onun yerine bu özelliği taşıması istenen modül için ayrı bir yerleşim tanımlamak uygun olacaktır.

Basit bir anlatım oldu ama sanırım çok kişi faydalanacaktır.

Kaynaklar:

http://api.joomla.org/Joomla-Framework/User/JUser.html

http://docs.joomla.org/Accessing_the_current_user_object#Determining_Status

 

 

BİR CEVAP BIRAK

Yorumunuzu ekleyin
Buraya adınızı yazın