Pazar, 04 Nisan 2010 17:14

Modülü Giriş Yapanlardan Gizleme

Yazan 
Öğeyi Oyla
(0 oy)

Bu makalemizde Joomla kullanıcılarının bir çoğu tarafından merak edilen ve aranan bir konuyu açıklığa kavuşturacağız.Bildiğimiz gibi Joomla sayesinde sitemizdeki modülleri istediğimiz gibi saklama, gizleme şansına sahibiz. Fakat bu gizleme olayı site ziyaretçilerimiz ile kısıtlı kalmakta. Böylece siteye kayıt olunup, giriş yapılınca bu gizlenen modüller görünebilmektedir.

Peki ya eğer bir modülü sadece ziyaretçilerinize gösterip, kayıtlı kullanıcılarınıza göstermek istemiyorsanız? Mesela sitenize gelen ziyaretçilere "Aramıza Katıl" diye bir modülünüz var. Bu modülde ziyaretçilerinizi siteye kayıt olmak için özendirecek ve belki de sahip olacakları ayrıcalıkları yazacaksınız. Ama sitenize zaten üye olan ve giriş yapan birisi de hala bu modülü görmeye devam edecek. Bu hem görsel açıdan hem de sitenizin kalitesi açısından hoş karşılanacak bir şey değil.

Lütfen sitemizde bulunan bu ve bunun gibi düzenleme (modifikasyon) işlemlerinde, değişiklik yapacağınız dosyaları yedek almayı unutmayınız!

Bu nedenlerle belki de 1.5 sürümlerine kadar Joomla'nın en büyük eksikliklerinden biri de bize bu esnekliği sunmamış olması.

İşte şimdi burada açıklayacağımız yöntemle Joomla sitenizde kayıtlı olanlara gösterilmeyecek, sadece ziyaretçilere gösterilecek modüller oluşturmayı öğreneceksiniz. Fakat bu gizleme olayı her modül için değil, modül pozisyonları için geçerli. Yani seçtiğiniz modül pozisyonunuzdaki tüm modüller etkilenecektir.

Mantıksal olarak yapmamız gereken şey, kullanıcı girişi gerçekleştiğinde modülün gözükmemesini sağlamak. Joomla Framework (Joomla'nın çalışmasını sağlayan kodlardan bazılarına verilen isim) kullanıcı bilgisini çeken bir yöntemi vardır. Yani eğer kullanıcının kimliğinin (ID) değeri '0' (sıfır) değil ise, o kullanıcı giriş yapmış demektir. Nasıl yapıldığını görelim:

Kullanmakta olduğunuz temanın index.php dosyasını bilgisayarınıza indirip bir yazı editörü (Not Defteri gibi) açın. Bu indirdiğiniz dosya Joomla dizininizdeki Template klasörü içerisindeki, kullandığınız temanın klasörü içerisindedir. İlk olarak şunu bilmemiz gerekiyor; Joomla'nın modülleri göstermesini sağlayan kod <jdoc: .................. /> şeklinde olan koddur.

Şimdi hangi modül pozisyonunu giriş yapan kullanıcılarımıza göstermeyeceğimize karar verelim. Örnek olarak sağ modül pozisyonunu yani rightpozisyonu olsun. Siz istediğiniz pozisyonu seçebilirsiniz.

Örneğimiz olan right pozisyonunu çağıran kodları bulmamız gerekiyor yani <jdoc:include type="modules" name="right" style="xhtml" /> gibi bir kod olması lazım. Kodu kolay bulmak için editörünüzün arama fonksiyonunu (CTRL+F tuşu) kullanabilirsiniz. Arama kısmına <jdoc: yazın ve gizlemek istediğiniz modülün bu kodunu bulun.

Şimdi işin asıl kısmına geldik. Aşağıdaki kodlardaki kırmızı yeri modülünüzün kodu ile değiştirin ve bu kodların tamamını index.php içerisindeki<jdoc:............ /> şeklinde olan kodunuzun yerine yapıştırın. Böylece seçmiş olduğunuz modül pozisyonunu giriş yapan kullanıcılardan gizlemiş olacaksınız.

 

<?php
// Get the user object
$user = &JFactory::getUser();
// Now work out the User ID
$userId = $user->get('id');
// Now hide the module if user is logged in
if ($userId == 0) :
  // Now we break out of the PHP tags and display the JDOC tag to include the module
?>
<jdoc:include type="modules" name="right" style="xhtml" />
<?php endif; ?>

 

Bu işlemden sonra sağ pozisyonda bulunan modüller sadece ziyaretçilere gözükecektir. Sitemize giriş yapan kayıtlı kullanıcılara ise gösterilmeyecektir.

Okunma 10754 defa
Enes

Neredeyse tüm mesaisini Joomla'nın Türkiye'de gelişmesine adamıştır. Türkiye'de "Joomla! Kullanıcıları ve Geliştiricileri Derneği" kurucu üyelerindendir.

Joomla! ücretsiz destek sitesi JoomlaBilgi.org kurucusudur.

Web tasarımı ve internet teknolojileri üzerine mesleğini İstanbul'da icra etmektedir.

Bu kategoriden diğerleri: Favicon Değiştirme »

Yorum Bırak

0 Karakter kısıtlaması
Eklediğiniz metin en az 5 karkater olmalıdır
Eklenebilir Dosyalar İzin verilen dosya türleri: bmp, csv, doc, gif, ico, jpg, jpeg, odg, odp, ods, odt, pdf, png, ppt, txt, xcf, xls 0 / 3
deneme