Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Wordpress Temaları Gibi Dinamik Bir Yapı Nasıl Yapılabilir

Merhaba
Hani Wordpress de vardır temayı klasöre atarsın sonra panelden etkinleştir dersin sitenin teması değişir , işte ben böyle bir yapı yapmak istiyorum bana bu olayın mantığını anlatabilecek biri varmı acaba yada daha önce buna göre yazılmış bir proje & class vb
Yardımcı olabilirseniz çok memnun olurum teşekkürler
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • siyahbeyaz adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    472 cevap - 20 soru
    aslında bu sistemin mantıgı cok basit..

    ilk olarak temelar diye bi klasorumuz olsun..

    mysql veritabanımızda ayarlar adında bir tablo.
    id (auto_id)
    site_adi VARCHAR(250)
    tema VARCHAR (100)


    ilk işimiz admin panelden temalar icindeki klasor isimleri bi combobox icine atmak ve gerekli temayi sectirmek... secilen temayi ayarlar tablosundaki tema icine aktaralim...

    ornekj vermek gerekirse.
    temalar
    -- mavi1
    -- kirmizi1

    gibi iki klasor temasi oldugunu düsünelim.
    biz kirmiziyi secip ayarlar tablosundaki tema fieldin icine kirmizi1 diye kaydedelim admin panelden.. bu nedenden dolayı kirmizi1 temamız aktif hale gelecektir. peki kirmizi1 icinde ne gibi dosyalar olması gerekli? bunun ıcın bazi sayfa isimlerimiz sabit olmali.
    sag.php
    ust.php
    alt.php
    sol.php
    bunlar sabit php dosyalarımız..

    simdi gelelim işin can alıcı olayına..

    ilk olarak ayarfunc.php diye bi fonksiyon dosyası yaratalım.. bu fonksiyon php dosyamızın ıcıne gerekli ayarlamaları yapmamız lazım.. bunlarda su sekilde olmalıdır.
    <? include("db.php"); // direk db baglantisini kuruyorum.. 
    
    $sql = mysql_query("Select * from ayarlar"); //
    $yaz = mysql_fetch_array($sql);
    define("TEMA_ADI", $yaz["tema"]); // Tema alanındaki ismi TEMA_ADI seklinde defineye tanımladık.. 
    
    /* alt ust sag sol gibi dizayn fonksiyonlarımızı tanımlayalim.. */
    
    function ust() { @include($_SERVER["DOCUMENT_ROOT"]."/Temalar/".TEMA_ADI."/ust.php"); } 
    /* bu sekilde anadizin/temalar/kirmizi1/ust.php yi unclede edebilecegiz.. */
    
    function alt() { @include($_SERVER["DOCUMENT_ROOT"]."/Temalar/".TEMA_ADI."/alt.php"); } 
    function sag() { @include($_SERVER["DOCUMENT_ROOT"]."/Temalar/".TEMA_ADI."/sag.php"); } 
    function sol() { @include($_SERVER["DOCUMENT_ROOT"]."/Temalar/".TEMA_ADI."/sol.php"); } 
    function anasayfa() { @include($_SERVER["DOCUMENT_ROOT"]."/Temalar/".TEMA_ADI."/anasayfa.php"); }
    /* index php yi de tema icine gomem lazım.. her temanın anasayfası farklılık gösterdiginden..  */ 
    


    index.php dosyamız.

    <? 
    include("ayarfunc.php")
    anasayfa(); ?>
    



    temalar/kirmizi1/anasayfa.php dosyamızın kodlarına gelelim.
    <? 
    ust();
    sol();
    echo "merhaba dunya burası anasayfa";
    sag(); // isterseniz kullanmanız size bagli bisi :)
    alt();
    ?>
    
    



    sol.php icine bisiler koyun
    alt.php icine footer icin bisiledr yerlestirin.
    sag.php icine bisiler koyun.
    ust.php icine bisiler koyun..

Cevaplar

  • qenetix adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    3 cevap - 0 soru
    Bunun için özel olarak yazılmış Şablon Motorları var. Örneğin PHP için en popüleri Smarty'dir. Google'dan incelersen çok rahat altından kalkabilirsin fikrimce..