İçeriğe Atla
POPÜLER ARAMALAR: reklam, pazarlama, ,
kod, wordpress, eklenti, web, teknoloji,
programlama, tasarım, ajax, linux, Pardus, blog
Feedburner RSS
26 Kasım 2006

Dinamik Olarak Sitil Değiştirmek

Etiketler: , , , , ,
Kategori Css | 2 Yorum

Sitil diyerek artık günümüzün vazgeçilmezi olan sitelerimize şekil veren CSS dosyalarını kastediyorum. Farzedin ki siteniz turuncu ağırlıklı fakat kullanıcıların sitenizin rengini istedikleri zaman değiştirebilmesini istiyorsunuz. Bunu yapmak düşündüğünüzden çok daha kolay. Tek yapmanız gereken sitil dosyasınızın(.css) dinamik olarak değiştirilebilmesini sağlamak. Gelelim bunu nasıl yapacağınıza.

Bunu yapmanın birçok farklı yolu var. Genel olarak makalelerimde yapmaya çalıştığım gibi bu yazımda da amacım size işin mantığını anlatmak. Üzerine kat döşemek size kalmış ;)

Ben kendi yöntemim olan php ile çerezleri kullanarak sitenin sitil dosyasını değiştirmeyi göstereceğim. Çalışma mantığı şöyle:

Kullanıcı sitenizde Mavi ve Turuncu isimli iki bağlantı görecek. Mavi’ye tıklayınca degistir.php isimli dosyaya mavi değişkeni gidecek. Bu dosya sizin belirleyeceğiniz bir ismiyle içinde mavi değerini almış değişkeni barındıran bir çerez yaratıp yeniden kullanıcıyı sitenize yönlendirecek. Siteniz, açılırken önceden oluşturulmuş çerezi kullanıcının bilgisayarında arayacak ve eğer yaratılmışsa siteniz, kullanıcının belirttiği renkte açılacak site.

Öncelikle sitemin “turuncu.css” ve “mavi.css” isimli iki adet sitil dosyası olduğunu varsayıyorum. Turuncu’da tüm linklerin ve başlıkların turuncu, mavide de mavi olduğunu düşünün.
Not: Wordpress için düşünürsek mutlaka temanızın bir de “style.css” dosyası olması gerekiyor.

Yazının devamında belirteceğim “stil_degiskeni” yazan yerlere kendi isteğiniz doğrultusundadiğer sitelerden ayırt edilebilecek bir isim yazınız. Sitenizin ana dizininde “degistir.php” isimli bir dosya yaratın ve içine şu kodu ekleyin:

< ?php
$theStyle    = $_GET['stil_degiskeni'];
setcookie("stil_degiskeni", $theStyle, time()+36000, "/", "");
header("Location: index.php");
exit;
?>

Sitenizin/temanızın < head > … < / head > etiketlerinin arasına şu kodları yazın.

< ?php
if (isset($_COOKIE["stil_degiskeni"])) $cerez=$_COOKIE["stil_degiskeni"];
switch($cerez)
 {
  case "turuncu":
       break;
  case "mavi":
  case "":
       $cerez = "mavi";
       break;
 }
	$adres=get_bloginfo('template_directory'); //Eger wordpress degilse buraya sitenizin adresini yazin.
	$cerez='<link rel="stylesheet" href="'.$adres.'/'.$cerez.'.css" type="text/css" media="screen" />';
	echo $cerez;
?>

Bu kodun anlamı şudur. Eğer çerez oluşturulmuşsa kullanıcının bilgisayardaki çerezden sitenin renk değişkenini alıyor ve siteniz belirtilen sitil dosyası ile açılıyor aksi halde yani çerez yaratılmamışsa yine varsayılan olarak mavi.css dosyası ile açılacaktır. Eğer Wordpress için oluşturuyorsanız bu dediklerimi sitil dosyalarınız temanızın içinde olmalı.

Son olarak kullancılarımıza sitemizin rengini değiştirecekleri bağlantıları sunucaz.

<a href="degistir.php?stil_degiskeni=mavi&phpMyAdmin=kg4cOVPgi2dQIEGuJWfgcJ1d8o4">Mavi</a>
<a href="degistir.php?stil_degiskeni=turuncu&phpMyAdmin=kg4cOVPgi2dQIEGuJWfgcJ1d8o4">Turuncu</a>

Umarım beğenirsiniz. saygılar sevgiler ;)


SEO




Yorumlar

“Dinamik Olarak Sitil Değiştirmek” için 2 Yorum

  • 1 inFoAnaLiZ

    aynı işlemi javascript kullanarak yapmıştım ilgilenen arakdaşlar için yazmam da sakınca yoktur umarım. style dosyanızın içinde oluşturduğunuz herhangi bi stil tagı nı cookie ile pc ye kaydediyoruz bu örnekten yapamıyabilirsiniz biraz karışık oldu :) mail atarsanız örnek dosya gönderebilirim.

    var cookieDate = new Date();
    cookieDate.setTime(cookieDate.getTime() + 24 * 60 * 60 * 1000);
    document.cookie = “cookie1=stil_adi;expires=” + cookieDate.toGMTString();

    çağırmak içinde :

    var cookieData = new String(document.cookie);
    var cookieHeader = “cookie1=”;
    var cookieStart = cookieData.indexOf(cookieHeader) + cookieHeader.length;
    var cookieEnd = cookieData.indexOf(”;”, cookieStart);

    if(cookieEnd == -1){
    cookieEnd = cookieData.length;
    }

    if(cookieData.indexOf(cookieHeader) != -1){
    document.body.className = cookieData.substring(cookieStart, cookieEnd);
    }
    else {
    document.body.className=”stil_adi”;
    }

    Not: stil_adi yazan yerlere kendi oluşturduğunuz stil adını girmelisiniz.

  • 2 Th3.Azad

    yakuter abı elıne saglık guzel anlatım olmuş ama kafama takılan bişi oldu iznin ile sormak istiyorum
    Mavi

    burdaki

    ” &phpMyAdmin=yYJagP2GMTjYWKdoJvI28ho4Hl3 ”

    sorgusu neye göre oluşturuldu anlayamadım açıklarsan sevinirim
    kolay gelsin..


Yorum Yapın

Sponsorlar

Günün Notu

Nasrettin Hoca - Sıkarken Fıkrası Nasrettin hoca bir gün yolun kenarında kedisini yıkıyomuş.Yoldan geçen arkadaşı hocaya:
-"Hocam kediyi yıkama ölür." demiş.

Hoca aldırış etmemiş ve yıkamış. Arkadaşı dönüşte hocayı tekrar yolun kenarında görmüş.Kedi ölmüştür. Adam:
-"Hocam ben size kediyi yıkamayın ölür demedimmi?" demiş. Hoca:
-Ben kediyi yıkarken ölmediki sıkarken öldü demiş.

Rastgele Sözler Eklentisi ile oluşturulmuştur.
Facebook Friend Feed Twitter Wordpress Netvibes Linked In RSS Beslemesi

yakuter.com © 2006-2009 Erhan Yakut. Site tasarım fallendesign. Hosting sponsoru WebGrup.
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.

WordPress Valid XHTML 1.0 Transitional Valid CSS! php

tracker