Bugün Joomla'da basit bir modül yazacağım. Modül sitemizde yayınlandığında, konumlandırılan alana "Merhaba Dunya" yazacak.
Modülümüz yazmadan önce resimdeki yapıya uygun olarak ilgili dosya ve sayfaları oluşturuyoruz. Modül klasörümüzün adı mod_merhabadunya, onun içinde helper.php, mod_merhabadunya.php, mod_merhabadunya.xml sayfaları ve tmpl klasörü bulunuyor. Bu klasörün içindeyse default.php ve index.html sayfaları var. Şimdi sıra bu sayfaları doldurmaya geldi.
1- İşe index.html sayfasının içine aşağıdaki kodu yazarak başlayalım.
2- Sonrasında modülümüzün mod_merhabadunya.xml sayfasını yazalım.
XML:
-
<?xml version="1.0" encoding="utf-8"?>
-
<install type="module" version="1.5.0">
-
<name>Merhaba Dunya!</name>
-
<author>Abdullah Kocaman</author>
-
<version>1.5.0</version>
-
<description>Merhaba Dünya' Modülü</description>
-
<files>
-
<filename module="mod_merhabadunya">mod_merhabadunya.php</filename>
-
<filename>index.html</filename>
-
<filename>helper.php</filename>
-
<filename>tmpl/default.php</filename>
-
<filename>tmpl/index.html</filename>
-
</files>
-
<params>
-
</params>
-
</install>
3- Bu işte bittiğine göre, asıl işimizi yapmamızı sağlayacak sayfa olan helper.php sayfasına ilgili sınıfımızı yazalım.
PHP:
-
<?php
-
-
//Sınıfımızı oluşturduk
-
class modMerhabaDunya
-
{
-
//Fonksiyonumuzu yazdık.
-
function getMerhaba( $params )
-
{
-
return 'Merhaba Dunya!';
-
}
-
}
-
-
?>
4- Şimdi helper.php sayfasından dönen değişkeni alıp default.php sayfasında kullanmamızı sağlayan mod_merhabadunya.php sayfasını kodlayalım.
PHP:
-
<?php
-
-
-
-
// Modülümüzün klasöründe bulunan "helper.php" dosyasını çağırıyoruz.
-
require_once( dirname(__FILE__).DS.
'helper.php' );
-
-
// "helper.php" dosyamızın içinde bulunan "modMerhabaDunya" sınıfının barındırdığı "getMerhaba" fonksiyonunu çalıştırıyoruz.
-
$merhaba = modMerhabaDunya::getMerhaba( $params );
-
-
// Bu satır "htdocs/modules/mod_merhabadunya/tmpl/default.php" yolunu bularak ilgili sayfayı çağırır.
-
require( JModuleHelper::getLayoutPath( 'mod_merhabadunya' ) );
-
-
?>
5- Artık ekrana default.php ile "Merhaba Dunya!" yazdırıyoruz.
Herkese merhaba. İşlerimin yoğunluğu ve yükseklisans sınavlarının başlaması nedeniyle, şu sıralar pek bir şey yazamıyorum. Neyse ki bugün bir fırsatını bulup, geçen haftalarda yayınlayacağımı duyurduğum "Joomla 1.5.x Tema Yapımı-1" adlı dersin devamını yazabildim.
Geçen derste bir Joomla tema klasörünün içinde bulunması gereken dosyalardan ve bu dosyaların ne işe yaradıklarından bahsetmiştik. Bugünse kolları sıvayıp bir Joomla teması yapacağız.
Temamızı yaparken ilk önce ona bir iskelet oluşturmalıyız. Ben bunun için aşağıdaki "template.css" dosyasını yazdım.
CSS:
-
body{
-
font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
-
font-size: 14px;
-
background: #EDE9DD;
-
}
-
-
div#main_body{
-
margin: 0 auto;
-
width: 900px;
-
height:auto;
-
padding-top: 40px;
-
}
-
-
div#top{
-
width: 900px;
-
height: auto;
-
float:left;
-
text-align:left;
-
}
-
-
div#top_left{
-
width:230px;
-
height:auto;
-
float:left;
-
text-align:left;
-
}
-
-
div#top_right{
-
width: 670px;
-
height: 72px;
-
float:left;
-
text-align:right;
-
}
-
-
div#middle{
-
width:900px;
-
height:auto;
-
float:left;
-
text-align:left;
-
padding-top: 40px;
-
}
-
-
div#middle_left{
-
width:650px;
-
height:auto;
-
float:left;
-
text-align:left;
-
padding-right: 20px;
-
}
-
-
div#middle_right{
-
width: 230px;
-
height: auto;
-
float:left;
-
text-align:left;
-
}
-
-
div#footer{
-
width: 900px;
-
height:auto;
-
text-align:center;
-
}
Daha sonra bu kodlar ışığında "index.php" sayfamın tasarımını yaptım. Ve ortaya aşağıdaki gibi iki sütundan oluşan bir yapı çıktı.

Geriye tasarımımıza gerekli Joomla kodlarını yerleştirmek kaldı. Bunu da aşağıdaki gibi yapıyoruz.
HTML:
-
-
-
<div id="top"><!-- Şablona Herhangi Bir Resim Eklerken Kullanılacak Kod -->
-
-
<div id="top_left"><img src="templates/<?php echo $this->template ?>/images/defocu.png" border="0" alt="" width="230" height="72" /></div>
-
-
<div id="top_right"><!-- Arama Modülünü Sayfaya Ekleyen Kod -->
-
<jdoc:include type="module" name="search" />
-
<!-- Arama Modülünü Sayfaya Ekleyen Kod Sonu--></div>
-
-
</div>
-
-
<div id="middle">
-
-
<div id="middle_left"><!-- Sitemizdeki Konuların Görüntülenmesini Sağlayan Kod -->
-
<?php if($this->params->get("menuName", "mainmenu")) : ?>
-
<jdoc:include type="component" />
-
<?php endif; ?>
-
<!-- Sitemizdeki Konuların Görüntülenmesini Sağlayan Kod Sonu --></div>
-
-
<div id="middle_right"><!-- Modüllerin Görüntülenmesini İstediğimiz Pozisyonu Oluşturan Kod -->
-
<?php if($this->countModules('right')) : ?>
-
<jdoc:include type="modules" name="right" style="" />
-
<?php endif; ?>
-
<!-- Modüllerin Görüntülenmesini İstediğimiz Pozisyonu Oluşturan Kod Sonu --></div>
-
-
</div>
-
-
<div id="footer"><!-- Modüllerin Görüntülenmesini İstediğimiz Pozisyonu Oluşturan Kod -->
-
<?php if($this->countModules('footer')) : ?>
-
<jdoc:include type="modules" name="footer" style="" />
-
<?php endif; ?>
-
<!-- Modüllerin Görüntülenmesini İstediğimiz Pozisyonu Oluşturan Kod Sonu --></div>
-
</div>
Yukarıda yaptığımız temanın dökümanı burada, buyrun indirin. Umarım faydalı olmuştur.
Önümüzdeki haftalarda, bir içerik yönetim sistemi olan Joomla için nasıl bir tema geliştireceğimizden bahsedeceğim. Bu konu son derece basit olmasına rağmen, internette yaptığım araştırmalardan gördüğüm kadarılığıyla türkçe kaynaklarda bu konu pek iyi anlatılamamış. Umarım anlatması düşündüğüm kadar zor değildir.
Bugün basit bir giriş yapmayı, deyim yerindeyse "ısınma turu" atmayı düşünüyorum. İlk önce bir Joomla tema klasörü ve bu klasörde olması gerekenlerden bahsedelim. Daha sonrasında temayı nasıl yapacağımızı anlatan kodlamayı video ders olarak işlemeyi düşünüyorum.
Şimdi bir klasör oluşturuyor ve buna "Defocu" adını veriyoruz. Bu klasör bizim temamızı barındıran klasör olacak ve işimiz bittiğinde bu klasörü Joomla'yı kurduğumuz alandaki "templates" klasörünün içerisine atacağız.
Temamızda bulunması gereken temel elemanlar soldaki resimde gösteriliyor. Şimdi bunların ne işe yaradıklarından biraz bahsedelim.
CSS Klasörü: Bu klasörün içinde temamızda kullanacağımız .css dosyaları barındırılacak.
Images Klasörü: Bu klasörde ise temamızda kullanacağımız resimler barındırılacak.
Favicon : Bu ikon sitemiz tarayıcıda açıldığında tarayıcımızın üzerinde otomatik olarak görüntülenecektir. Sizin yapmanız gereken logonuzu favicon ismiyle ve .ico formatında buraya kaydetmek.
Index.php : Tasarımını yapacağımız sayfanın ta kendisi. İlk önce oluştururken boş olabilir, sonrasında biz kendilerinin içeriğini dolduracağız.
template_thumbnail: Bu resim yönetim panelinden sitenizin temasını seçmek için üzerinize geldiğinizde size gösterilen önizleme resmidir. Bunu da siz kendi sitenizin önsayfa görüntüsü olarak kaydetmelisiniz.
templatedetails.xml: Temamızın Joomla tarafindan tanınmasını sağlayan dosyanın içeriği, yapım tarihi, tema adı, tasarımcının adı, temamızın içinde barındırılan sayfa, resim gibi elemanların bilgilerinden oluşur.
Bugünlük bu kadar en kısa zamanda görüşmek üzere...
İyi ve kullanışlı bir içerik yönetim sistemi arayıp, en sonunda Joomla ile Wordpress arasında bir seçim yapmak zorunda kalan arkadaşlar için bugünkü yazım.
İki sistemi de aktif kullanan biri olarak, karşıma çıkan sorunlar ve konularda hangisinin daha çözüme yakın olduğundan bahsedeceğim şimdi. Bunu yaparken maddeler çıkaracağım, böylece inanıyorum daha akılda kalıcı olacaktır.
Gelişmiş Bir Yapı
Joomla kesinlikle komplike sitelerin yapımında, bize Wordpress'ten daha fazla yardımcı oluyor.
Yönetim Paneli Kullanışlığı
Yukarıda Joomla'nın daha gelişmiş bir yapıya sahip olduğunu söylemiştir. Bu nedenledir ki, paneli de Wordpress'e göre daha karmaşık. Wordpress ise son derece basit.
Veritabanı Kullanımı
Joomla(1.5.3) veritabınında 36 tablo kullanır, Wordpress'se 10. Gelişmiş bir yapı ile kastettiğim şeyi sanırım daha iyi anladınız.
Joomla ile açtığınız bir konu üzerinde düzeltme yapar ve kaydederseniz. Sistem ilgili tablodaki ilgili satırları düzeltir. Wordpress'teyse yeni bir satır ekler, bu da tabloyu şişirir.
Tema tasarımı
Joomla'da bir sayfa tasarımı yaparak, tüm işinizi görebilirsiniz. Ama Wordpress'te birbirine bağlı bir kaç sayfa ile senkron çalışmalısınız. Ama ikisinde de tasarım son derece kolay.
Eklenti
Kesinlikle joomla'da daha fazla eklenti bulabilirsiniz.
Ve Son
Çok komplike bir site yapmıyorsanız, kesinlikle Wordpress. Ama gözünüz -örneğin- haber portalı yapmaktaysa tercihiniz Joomla olmalı.
Ziyaret ettiğiniz sitelerden bazılarının logolarını, tarayıcılardaki sekme üzerlerinde ve url satırının hemen yanındaki alanda görmüşsünüzdür. Böyle bir görüntüyü wordpress'le yaptığımız sitelerde elde etmek son derece kolay. Bunun için ilk önce logomuzun formatını ".ico" ya çeviriyoruz ve bu ikona "favicon" ismini veriyoruz. Daha sonra bu ikonu herhangi bir ftp programıyla wordpress şablonumuzun bulunduğu klasöre ekliyoruz.
Son olarak yapmamız gerekense, "<head></head>" etiketleri arasına,
<link rel="shortcut icon" href="<?php bloginfo('template_url'); ?>/favicon.ico"/>
satırını eklemek. Elde edeceğiniz görüntü blogunuzu daha profesyonel gösterecektir.