PAYLAŞ
Joomla! 1.0 Temasını 1.5 Temasına Çevirmek - How to convert Joomla 1.0 template to Joomla! 1.5 template

Joomla! 1.0 Temasını 1.5 Temasına Çevirmek - How to convert Joomla 1.0 template to Joomla! 1.5 templateJoomla! 1.5 sürümler artık seriyi tamamlamaya yaklaşsa da halen Joomla! 1.0 serisi kullananlar var. Bunun sebebi resmî desteğin 22 Temmuz 2009’a kadar devam edecek olması. Hal böyleyken 1.0 serisinden 1.5 sürümlere geçişler de devam ediyor demek oluyor. Ancak bu geçişlerde en büyük sıkıntılardan biri uzun süre siteniz için ilmek ilmek optimize ettiğiniz Joomla! 1.0.x temasını Joomla! 1.5.x temasına çevirmek. Aslında temelde birkaç adımda gerçekleştirilebilecek Joomla! 1.0 – 1.5 tema göçü, kullanılan temanın kodlanma şekline göre değişik müdahaleler gerektirebiliyor. Temelde gerekli olan müdahalelerden bahsedeceğim. Böylelikle Joomla! 1.0 temasını 1.5 temasına dönüştürmek sizin için de mümkün olacak.

Joomla! 1.5 sürümler artık seriyi tamamlamaya yaklaşsa da halen Joomla! 1.0 serisi kullananlar var. Bunun sebebi resmî desteğin 22 Temmuz 2009’a kadar devam edecek olması. Hal böyleyken 1.0 serisinden 1.5 sürümlere geçişler de devam ediyor demek oluyor. Ancak bu geçişlerde en büyük sıkıntılardan biri uzun süre siteniz için ilmek ilmek optimize ettiğiniz Joomla! 1.0.x temasını Joomla! 1.5.x temasına çevirmek. Aslında temelde birkaç adımda gerçekleştirilebilecek Joomla! 1.0 – 1.5 tema göçü, kullanılan temanın kodlanma şekline göre değişik müdahaleler gerektirebiliyor. Temelde gerekli olan müdahalelerden bahsedeceğim. Böylelikle Joomla! 1.0 temasını 1.5 temasına dönüştürmek sizin için de mümkün olacak.

Çalışmaya başlamadan evvel sizin için kıymetli olan bu Joomla! 1.0 temanızın muhakkak yedeğini alın. Geri dönmeniz gerekirse temanın uzun süre siteniz için düzenleyediğiniz kısmlarını bulamayabilirisiniz. Bu sebeple tedbirli olmakta fayda var. 4 aşamalı bir değişim işlemi gerçekleştireceğiz. Bu aşamalar temanızın header kısmında düzenleme, modül yerleşimlerini düzenleme, eskiden adı mainbody olan içerik kısmında düzenleme ve temanın css dosyasının adını düzenleme şeklinde olacak. Css dosya ismini değiştirmek dışındaki işlerimizi temamızın index.php dosyasında gerçekleştireceğiz.

Öncelikle temanızın header kısmını değiştirmelisiniz. Temanın header kısmı, index.php dosyasının 1. satırından itibaren </head> kapama etiketinin olduğu yere kadar olan kısımdır. 1. satırdan aşağı doğru bu </head> kapama etiketi dahil seçin ve aşağıdaki ile değiştirin. Bunu yapmanın kolay yolu önce aşağıdakini kopyalamanız, daha sonra söylediğim şekilde seçimi yapıp ardından ctrl+v tuşlarını kullanmanızdır.

templates/sizintemanız/index.php
1
2
3
4
5
6
7
8
9
10
11
<?php
defined('_JEXEC') or die('Restricted access');
JHTML::_('behavior.mootools');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="templates/_system/css/general.css" type="text/css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/template.css" type="text/css" />
</head>

Burada 3. satırda verdiğimiz JHTML::_(behavior.mootools’); kısmını dilerseniz kullanmayabilirsiniz. Bu durumda sadece 3. satırı silmeniz yeterli. Satırda mootools Joomla çekirdekte gelen kütüphanesi temaya çağırılıyor.

Ardından her modül pozsiyonu tanımlamasında değişiklik yapmamız gerekecek. Modül pozisyonlar genelde iki şekilde tanımlanıyor. Bir defa her halukarda pozisyonun tanımlaması ve çoğunlukla da bu tanımlamanın içinde olduğu divi yayında modül yokken göstermemek için kullanılan bir if döngüsü oluyor. Bu iki duruma göre nasıl hareket edeceğimize bakalım. Temanızda şunu bulun:

 
<?php mosLoadModules ( 'user1' ); ?> 

Bunun şununla değiştirin (user1 tanımlamaları örnektir, kopyalarken dikkat edin):

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

Eğer ilk bulduğunuz kodun üstünde ve altında if ve endif kodları görüyorsanız onlarda da değişiklik yapmanız gerekecek. Örneğin ilk kod şöyle olabilir:

 
<?php if (mosCountModules( "user1" )) { ?>
<?php mosLoadModules ( 'user1'); ?>
<?php } ?>

O zaman şöyle değiştirmeniz gerekecek:

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

Hatta bunu bir örnekle daha netleştirelim. Kodunuz temada şu şekilde de yer alıyor olabilir ve aslında böyle olması daha mantıklıdır:

 
	<?php if (mosCountModules( "user1" )) { ?>
<div id="">
<?php mosLoadModules ( 'user1'); ?>
</div>
<?php } ?>

Bu takdirde yapacağımız değişiklik de ona uygun olacak. Burada yapılan şey tam olarak belirtilmiş pozisyonda yayınlanmış bir modül yoksa o div alanının temada gösterilmemesidir.

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

Bütün modül pozsiyonlarını bu şekilde arayıp özenle değiştirmelisiniz.Aslında modül pozisyonu tanımlamaları son örnekte verdiğimize benzer başka şartlara da bağlanabiliyor. Örneğin user1 yayındaysa user2’yi yayınla, user1 ve user2 yayındaysa…gibi Bu durumdlarda dikkat etmemiz gereken şey değişen kısımlar. 1.0 temalarında mosLoad ile yayınlanmış modülün temada gösterilmesini sağlayan kod jdoc:include type:”modules” ile değiştirildi. if döngülerindeki pozisyonda yayınlanmış modül varsa anlamında kullanılan mosCountModules kısmı yerine $this->countModules kullanılıyor. Buna göre düzenlemelerimizi yapabiliriz.

Ardından sıra içeriğin yayınlandığı ana kısma geliyor. Bu kısım 1.0 temalarda şu şekilde tanımlanmıştır:

 
<?php mosMainBody(); ?> 

Bu kodu şununla değiştirmeniz gerekecek:

 
<jdoc:include type="component" />

Joomla Themes

Son olarak yapmamaız gereken şey css dosyamızın template_css.css olan ismini template.css olarak değiştirmek.

Hepsi bu, gözünüzaydın. Artık temanız Jooml 1.5 teması. Üzerinde ince çalışmalarınıza devam edebilirsiniz.

Güle güle kullanın.