Hazır Template Dosyaları ile Çalışmak
Merhaba, bu makalemizle birlikte, aktif olarak sitemizi programlamaya başlayacağız. Yapacağımız çalışmaları kendi ihtiyaçlarınız için kullanırken daha kolay olması ve yapılan örneklerin göze daha hoş görünmesi için ortaya çıkaracağımız sistemi web de ücretsiz olarak bulabileceğimiz bir template bağladım. Kullandığım distinctive adlı template, http://www.solucija.com adresinden ücretsiz olarak indirilebilir. Dilerseniz aynı sitede bulunan bir başka template dosyasını da kullanabilirsiniz.
Çektiğimiz template dosyalarını kurmak oldukça basit. Web sunucumuzun ana dizinine, bir önceki yazımızda tanıtmaya çalıştığımız dizin yapısını oluşturduktan sonra , çekmiş olduğumuz template dosyalarını site/temalar/distinctive dizinine açıyoruz, daha sonra dizindeki index.html dosyasını, tema.php olarak yeniden adlandırıp kaydediyoruz. Tema üzerinde yapacağımız işlemlere daha sonra değineceğiz.
Daha önceki yazılarımızda belirttiğimiz gibi, PHP ile programlanmış web siteleri (çalıştıran web sunucular daha farklı bir biçimde ayarlanmadıkları sürece), başlangıç olarak index.php dosyasını ararlar, dolayısı ile yazacağımız web sitesinde bir index.php dosyası şart olduğundan, PHP programcılığı için kullanacağımız text editörümüzü açıp, yeni bir dosya oluşturup, web sunucumuzun ana dizinine index.php olarak kaydediyoruz. Bu aşamadan sonra, daha önceki makalelerimizde belirttiğimiz birden fazla dosya ile çalışmayı kolaylaştıran kodlarımızı ekleyip geliştiriyoruz.
<?php
define('DA',DIRECTORY_SEPARATOR); // DA -> dizin ayracının kısaltılmışı
define('KDIZ',dirname(__FILE__).DA); // KDIZ -> kök dizinin kısaltılmışı
//--- Diğer Statik dizinler
define('MDIZ',KDIZ.'mevcut'.DA); // MDIZ -> mevcut dizinin kısaltılmışı
define('MADIZ',MDIZ.'ayarlar'.DA); // MADIZ -> mevcut/ayar dizinin kısaltılmışı
define('MODIZ',MDIZ.'onbellek'.DA); // MODIZ -> mevcut/onbellek dizinin kısaltılmışı
define('ADIZ',KDIZ.'ana_kod'.DA); // ADIZ -> ana_kod dizinin kısaltılmışı
define('ADDIZ',ADIZ.'dahili'.DA); // ADDIZ -> ana_kod/dahili dizinin kısaltılmışı
define('AHDIZ',ADIZ.'harici'.DA); // AHDIZ -> ana_kod/harici dizinin kısaltılmışı
define('SDIZ',KDIZ.'site'.DA); // SDIZ -> site dizinin kısaltılmışı
define('TDIZ',SDIZ.'temalar'.DA); // TDIZ -> tema dizinin kısaltılmışı
?>
Bu aşamadan sonra, yapacağımız ilk iş, sitemize ait ayar dosyasınız index.php dosyasına bağlamaktır. Böylelikle sitemiz için kullanmak istediğimiz genel değişkenleri burada tanımlayabiliriz. Örneğimizde ayar dosyamızı, direkt olarak $GLOBALS üzerine kuracağım. $GLOBALS PHP içinde kullanılan özel bir dizi, buraya kaydedilen elemanlar, kod içerisindeki tüm fonksiyon ve sınıflardan kolaylıkla çağrılabilir.
/mevcut/ayarlar/ana_ayar.php
<?php
$GLOBALS['ym']['ayar']['site']['ad'] = 'Site Adı';
$GLOBALS['ym']['ayar']['site']['slogan'] = 'Site Slogan';
$GLOBALS['ym']['ayar']['tema'] = 'distinctive';
$GLOBALS['ym']['ayar']['karakter_kumesi'] = 'utf-8';
$GLOBALS['ym']['ayar']['dil'] = 'tr';
$GLOBALS['ym']['ayar']['dil-iso'] = 'tr_TR';
//--- Diğer ayarları
$GLOBALS['ym']['ayar']['tema-dosyasi'] = TDIZ.$GLOBALS['ym']['ayar']['tema'].DA.'tema.php';
$GLOBALS['ym']['ayar']['tema-url'] = 'site/temalar/'.$GLOBALS['ym']['ayar']['tema'].'/';
?>
Ayarlarımızı $GLOBALS üzerinde kaydederken, öncelikle ['ym'] alt dizi si ile işaretliyorum, böylece olası bir değişken çakışmasının da önüne geçiyorum. Alt dizi adı için kullandığım ym, yerli mali tanımlamasının kısaltılmışı. Kısaca, bundan böyle kodlarımızda, $GLOBALS erişimi yaparken öncelikle ['ym'] ald dizini kullanacağız.
index.php
<?php
define('DA',DIRECTORY_SEPARATOR); // DA -> dizin ayracının kısaltılmışı
define('KDIZ',dirname(__FILE__).DA); // KDIZ -> kök dizinin kısaltılmışı
//--- Diğer Statik dizinler
define('MDIZ',KDIZ.'mevcut'.DA); // MDIZ -> mevcut dizinin kısaltılmışı
define('MADIZ',MDIZ.'ayarlar'.DA); // MADIZ -> mevcut/ayar dizinin kısaltılmışı
define('MODIZ',MDIZ.'onbellek'.DA); // MODIZ -> mevcut/onbellek dizinin kısaltılmışı
define('ADIZ',KDIZ.'ana_kod'.DA); // ADIZ -> ana_kod dizinin kısaltılmışı
define('ADDIZ',ADIZ.'dahili'.DA); // ADDIZ -> ana_kod/dahili dizinin kısaltılmışı
define('AHDIZ',ADIZ.'harici'.DA); // AHDIZ -> ana_kod/harici dizinin kısaltılmışı
define('SDIZ',KDIZ.'site'.DA); // SDIZ -> site dizinin kısaltılmışı
define('TDIZ',SDIZ.'temalar'.DA); // TDIZ -> tema dizinin kısaltılmışı
include(MADIZ.'ana_ayar.php'); // Ayar dosyası
?>
Ayar dosyamızdan sonra, sıra template dosyamızı bağlamaya geldi. Aşağıdaki kodda, ayar dosyamızda belirttiğimiz tema dizinindeki tema.php dosyası çağrılıp çıktı olarak veriliyor.
<?php
//--- Template dosyasını çağır
if(is_file($GLOBALS['ym']['ayar']['tema-dosyasi'])) {
include($GLOBALS['ym']['ayar']['tema-dosyasi']);
} else {
echo 'tema dosyası bulunamadı...';
}
?>
Sayfayı tarayıcıdan çağırdığınızda, eklediğiniz temanın php kodunuz üzerinden size ulaştığını göreceksiniz. Diğer benzerleri gibi, bizim temamız da içinde bir sürü örnek yazı ile geldiğinden, sayfada görünen site, bu örnek yazıları barındırıyor olacaktır. Template dosyalarını kendi işimize yarar hale çevirmek için içindeki alanları boşaltıp kendi değişkenlerimizi burdan çalışır hale getirmeliyiz.
Kodlama yapmadan önce elimizdeki tema dosyasını inceleyerek, temamızın içerik konulan parçalarını belirleyelim. Belirlenen alanlara tanımlanacak olan değişkenleri, PHP içinden yapacağımız işlemlerle doldurarak, sayfamızı dinamik hale getirebiliriz.
Örneğin, monitör resminin solundaki alanı, tanımlayalım.
Ve bu alanı, index.php den yapılacak programlar ile işlenebilecek şekilde yeniden tanımlayalım.
<?php
<div id='pitch'>
<h1><?php echo $GLOBALS['ym']['sayfa']['icerik']['baslık'];?></h1>
<h2><?php echo $GLOBALS['ym']['sayfa']['icerik']['alt_baslık'];?></h2>
</div>
?>
index.php dosyasına eklenecek kod.
<?php
$sayfa['icerik']['baslık'] = 'Ana Başlık';
$sayfa['icerik']['alt_baslık'] = 'Ana başlık alt başlık içinde yeralması gereken bu açıklamanın biraz uzun olması gerekiyor ki kendine ayrılan alanı doldurmuş olabilsin, aksi halde tema testi arzu edilen sonucu vermeyebilir.';
$GLOBALS['ym']['sayfa'] = $sayfa;
?>
Böylece, dana önceden tanımladığımız alana istediğimiz değerleri PHP vasıtası ile yerleştirebilecek duruma gelmiş bulunuyoruz.
Ekteki dosyada, tüm dizin yapısı, index.php, ana_ayar.php, tema.php ve tema için gerekli diğer dosyaları bulabilirsiniz.
Kategori: Php, Web Programlama




Yorumlar (0)
Geri izleme adresi | Yorum RSS Beslemesi
There are no comments yet. Why not be the first to speak your mind.