Evet arkadaşlar bu makalemde temaların
yapısını anlatacağım. Böylelikle
elinizdeki mevcut temalar üzerinde değişiklik yapma imkanına kavuşacaksınız.
Öncelikle birazcık html kodlarına aşina olmak gerekir.
Temaların Yapısı:
Piyasadaki mevcut temaları iki gruba
ayırabiliriz. Bunlardan birincisi sadece içerisinde theme.php
dosyası olan ve temaların bütün kodlarını içerisinde barındıran temalardır.
Diğer grup temalar ise daha basit bir yapıya sahip olan
theme.php nin yanında header.html,footer.html, blocks.html, left_center.html,center_right.html,story_home.html,
story_page.html ve tables.php dosyalarının olduğu temalardır. Eğer temanız
ikinci gruba dahil ettiğimiz özellikteki bir tema ise işiniz daha kolaydır ona
göre...
1.Grup Temalar:
İçerisinde kod depolayıcı olarak sadece theme.php
dosyasını barındıran temalardır. Bu temalarda tablolar, temanızın üst
kısmı(header), altkısmı(footer) vb... gibi bölümler fonksiyonlarla
tanımlanmıştır. Şimdi theme.php içerisindeki
bölümleri birlikte tanıyalım...
theme.php
dosyasını bir editörle açıyoruz. Notepad de olur ilk karşımıza çıkan kısım:
$bgcolor1 = "#ffffff";
$bgcolor2 = "#9cbee6";
$bgcolor3 = "#d3e2ea";
$bgcolor4 = "#0E3259";
$textcolor1 = "#000000";
$textcolor2 = "#000000";
Burada $ işareti php de değişken
tanımlamak için kullanılır. Yani $bgcolor1 = "#ffffff";
kodu $bgcolor1 değişkeni beyaz olarak
tanımlanmıştır. Ve temayı hazırlayan kişi beyaz rengi kullanacağı zaman
$bgcolor1 bu değişkeni kullanmaktadır. Php nin bize getirdiği en büyük
kolaylıklardan biride bu şekilde değişken tanımlanmasıdır. Biz şimdi tema
editlerken sitemizde bazı bölümlerde mevcut renklerin beyaz değil de mavi
olmasını istiyoruz. İşte tek tek beyazlar değiştirmek yerine sadece $bgcolor1
kodu ile tanımlanan "#ffffff"; kodunu değiştirmemiz yeterlidir. Neyse konuyu
fazla dağıtmayalım. Buradaki kodlar ile $bgcolor
arka plan renkleri $textcolor yazı renklerini
değiştirebiliriz....
Hemen altında genellikle
function OpenTable()
function CloseTable()
kodları yer alır. Bu kodlar sitemiz
içerisinde bir çok yerde kullanılır. Örneğin sitemiz ana sayfasında yönetici
olarak bizim yayınladığımız bir mesaj otomatik olarak ana sayfada belirir.Ve bu
mesaj bir tablo içerisinde oluşur. İşte sitemiz içerisindeki bütün tabloları
oluşturan fonksiyonlar bunlardır... OpenTable() tabloyu açar araya kodlar
yerleştirilir.CloseTable() tabloyu kapatır...
function OpenTable2()
function CloseTable2()
kodlarıda yukarıda anlatılan fonksiyonlar
ile aynı görevdedir ancak alternatif tablo kullanılması gerektiği durumlarda
kullanılır. Çok fazla kullanılmadığı için üzerinde durmuyorum.
function themeheader()
Bu fonksiyon içerisinden sitemizin üst
kısmını (header) düzenleyebilirsiniz. Örneğin bir çok arkadaş üst kısma bir
flash koymak isteyecektir.Bunun için herhangi bir text editöründe bir tablo
oluşturulur. Bu tablonun kodları html yi php ye çeviren programlar ileçevrilir
daha sonra.
function themeheader() { **********}
***** olarak belirlediğim yere
yapıştırılır. Ve bu kısım komple silinip hazırladığınız kodlar eklenir yalnız
sitesinde banner kullanacak olan kişiler bannerlerine bir yer hazırlamalıdır.
if ($banners) {
include("banners.php"); bu kodu da bannerin görünmesini istediğiniz yere
koymalısınız.
Yine genel mesaj da unutulmamalıdır.
Örneğin siteniz üyelerinin 15 dakika boyunca tüm üyelerin görmesi için
hazırlanan mesaj özelliğini göstermek istiyorsanız.
$public_msg = public_message();
echo "$public_msg<br>";
bu kodları eklemeyi unutmayın... Ayrıca yine header kısmında bulunan
blocks(left); kodu da
sol blokların headera bağlanmasını sağlıyor...
function themefooter()
Bu fonksiyonda sitemizin alt kısmını(copyright)
oluşturur.Alt kısmı ile ilgili düzenleme yapılacaksa buradan yapılır. Burada
genellikle iki önemli kod bulunur.Bunlar
if ($index == 1) {
bu kod ile eğer index 1 seçilmişse. Php-nuke ye biraz aşina olan arkadaşlar
bilir modülde sağdaki blokların görünmesi için $index=1;
kodu eklenirdi. İşte php bu fonksiyonun başında eğer $index 1'e eşitse blocks(right);
sağ blokları göster... Yine footer kısmında
footmsg(); kodu bulunur. Bu kod da bizim seçenekler kısmından
ayarladığımız. foot1,foot2,foot3 bölümlerindeki mesajların görünmesini
sağlayan kodladır...
function themeindex
Bu fonksiyon ana sayfada görünen
haberlerin görünümünü düzenler.Buradaki $title
haberin başlığı, $topicimage başlık resmi (Bir çok
arkadaş bu resimden şikayetçi olurlar ve kaldırmak isterler...)
formatAidHeader($aid);
gönderen yönetici,$counter okunma sayısı,$morelink
byte kaldı,devamı gibi haberle ilgili özelliklerin tanımlandığı değşkenlerdir.
function themearticle
Bu fonksiyonda haberin devamında çıkan
sayfanın düzenlendiği kodlar mevcuttur.
function themesidebox($title,
$content)
Bu fonksiyon ise blokların düzenlendiği
fonksiyondur. $title başlığı tanımlar,
$content ise bloğun içeriğini oluşturur..
Genellikle birinci grup temalar bu özelliklere sahiptir.
2.Grup Temalar:
1. grup temaların özelliklerini kavrayan
arkadaşlar bu tür temaları daha rahatlıkla düzenleyebilirler. Butür temalarda da
bir theme.php mevcuttur. Ancak theme.php bütün özellikleri barındıran değilde
parçaları birleştiren özelliğ sahptir. Nedir bu parçalar:
header.html : Sitemizin üst kısmı(header)
footer.html : Sitemizin alt kısmı (copyright,foot messages)
story_home.html: Anasayfadaki haberlerin görünümü
story_page.html: Haberlerin devamı sayfası
left_center.html: Sol tarafı ortaya bağlar.
center_right .html: Ortayı sola bağlar. (Bir tür ip gibi düşünün çok fazla kod
yoktur içerilerinde ama bir birlerini bağlamak için kullanılır..
blocks.html: Bloklrın bulunduğu dosya..
tables.php : OpenTable(), CloseTable() fonksiyonları bu dosya içerisinde
belirlenir.
İkinci grup temalarda theme.php parçaları
birleştirici özellik taşıdığını söylemiştik. Nasıl mı?
function themeheader() içerisine baktığımız vakit.
$tmpl_file = "themes/Temam/header.html";
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "$r_file="".$thefile."";";
kodlarını görebiliriz. Veya function
themefooter() da da benzer şekilde. Yani html ile hazırlanan dosyalar. theme.php
ile bir birlerine bağlanırlar...
Ayrıca temalarda Style ve Images
klasörleri bulunabilir. Style klasörü içerisindeki dosyalar sitemizin yazı
tipini rengini vb.. özelliklerin saklandığı dosyalardır. Images klasörü
içerisinde ise sitemizin her türlü grafikleri bulunur. Yine bazı temalarda
forums klasörü olabilir. Bu klasörde tema forum içinde hazırlanmışsa bu klasörde
saklanır.
Copyright © PHP Nuke - Themes - Modules - Blocks - Addons - Turkish Nuke Tüm hakları saklıdır.