Joomla Tema Modül Pozisyonu Ekleme

Bu habere oy verin
(0 oy verilmiş)

Çok lazım olan konulardan biri de temamıza modül pozisyonu eklemektir. Bunu birkaç örnekle basitçe izah edelim. Modül pozisyonumuzun adı user10 olsun. Aslında ben Türkçe yerleşim isimlerini tercih ediyorum ama şimdi elinizdeki temaya uygun olması için aklınız karıştırmadan uygulayabileceğiniz şekilde gösteriyorum. En temel şekliyle modül pozisyonunu temaya ekleyen kod şu aşağıdaki gibidir:

<jdoc:include type="modules" name="user9" style="xhtml" />

Temanızın index.php dosyasında bu kodu yazdığınız yerde doğrudan bir modül pozisyonu oluşur. Ancak genelde kullanıldığı haliyle bunu bir if döngüsü içinde "eğer user10'da yayınlanmış modül varsa burada göster" şeklinde yazmak isteriz ki boş o alanda modül yayınlamadığımızda boş bir yer kaplamasın. Eklememiz gereken kod şu şekilde olmalı:

<?php if ($this->countModules( 'user10' )) : ?>
 <div class="user9">
 <jdoc:include type="modules" name="user10" style="xhtml" />
 </div>
<?php endif; ?>

İnceleyecek olursak modül yerleşimini bir div içine aldık ve bu div dışında başlayan bir if döngüsü kullandık. Döngüde "Eğer user9 pozisyonu bir modül içeriyorsa (yayınlanmış modül varsa)" deniyor ve ardından jdoc:include ile modül pozisyonu o alana çağırılıyor. Döngü div etiketi dışında ve pozisyon çağrısı da o div etiketi içinde tek başına olduğundan, user9 pozisyonunda yayınladığımız bir modül yoksa bu boş div ziyaretçilerimize yansımıyor. Modül yerleşimini içine koyduğumuz div etiketini biçimlendirmek için ona bir sınıf atadık ve ismini user9 verdik. Buna göre css dosyamızda divi düzenleyebiliriz.

Modül yerleşimini tema index.php dosyamızda istediğimiz alana eklememize rağmen herhangi bir modülü henüz burada yayınlayamadık. Nedeni ise yönetim merkezinde modül yönetiminde yerleşim olarak user9 ismini görmüyor olmamızdır. Modül yerleşimi listesinde bizim eklediğimiz pozisyon isminin görünmesi için bu ismi temamızın templateDetails.xml dosyasında <positions> etiketi altına <position>user9</position> şeklinde eklemeniz gerekir. Dosyayı açtığınızda zaten bu etiket altında temanızdaki tüm pozisyon isimlerini ayrı ayrı göreceksiniz. Bir tanesini kopyalayıp ismi sizinkiyle değiştirip kaydedebilirsiniz.

Bir modül pozisyonu ekleyebiliyorsunuz. Pekiyi bu modül pozisyonunun başka bir modül pozisyonuna bağlı çalışmasını nasıl sağlarsınız ? Böyle bir durumda kullanacağımız if döngüsünü veriyorum:

$this->countModules( 'user10 and user11' )

Bunu kullandığımız kod kümesi nasıl olacak bakarak doğrulayalım:

<?php if ($this->countModules( 'user10 and user11' )) : ?>
 <div class="moduller">
 <jdoc:include type="modules" name="user10" style="xhtml" />
 <jdoc:include type="modules" name="user11" style="xhtml" />
 </div>
<?php endif; ?>

Basit kullanım şekli böyle. Güle güle kullanın.

Aytuğ AKARAytuğ Halil AKAR
2005 yılında Mambo ile tanıştı ve en büyük proje sitesini HTML'den Mambo'ya aktardı. Joomla!'ya Mambo'dan göçü anlatan ilk Türkçe kaynağı oluşturması ve Joomla Partnerliği'nde Türkçe çevirileri ile tanındı. 2006 Aralık ayında bir grup arkadaşıyla CMSTÜRK'ü kurdu, aynı ekip ile 2008 yılında Joomla Kitabını yazdı, 2010 yılında Joomla Portalı'nın temellerini attı. 2012'de Joomla Derneği Kurucu Yönetim Kurulunda Başkan olarak yer aldı. HTML, CSS, PHP biliyor, Notepad++ ve Firewoks kullanıyor. Uluslararası faaliyet gösteren bir organizasyonda görevli. Evli, baba, Uluslararası İlişkiler AÖ öğrencisi, Joomla Profesyoneli.

yazarın diğer yazıları >>