PHP Tema Sistemi Mantığı
<p></p>Merhaba, pure php kullanıyorum, herhangi bir framework bilgim yok laraveli öğrenmeye çalışıyorum lakin henüz hakim değilim. </p>
<p>Alanım back-end ve html temaları indirip projelerimi onun üzerinde geliştiriyorum lakin başlamak için uzun zamandır üzerinde düşündüğüm bir proje için temalama mantığına ihtiyacım var. Tıpkı wordpress deki gibi /themes dizinine attığım temalardan hangisi aktif ise o çalışacak. Basit anlamda mantığı kuruyorum fakat sadece tek bir şablon üzerinde yapabiliyorum, Yani üstten alta navbar>header>body[left-side - rightsidebar]>footer>copyright şeklinde ilerliyor. Bir sonraki tasarımda bu yerleşimi değiştirmek istersem yine temel mantığı değşitirmem gerekli. ayrıca tema dosyaları alt dizinden include edileceği için while selector kullanırken sıkıntı yaşayabileceğimi düşünüyorum (jquery ile eklenen liste elemanları gibi nesneler tıklandığında sadece ilk sıradaki nesnenin id/value değerini alabiliyorum, birden fazla kez yaşadım bu sıkıntıyı, henüz çözemedim.) Bunun yerine hep karşılaştığım .TPL uzantılı dosyalar işimi görür mü merak ediyorum, nasıl yapılır nasıl öğrenirim kaynak nedir? Ayrıca böyle bir temalama için MVC kullanmak zorunlu mudur yoksa düz çalışabilir miyim? ya da "framework kullanmasan bile her zaman MVC yapısı kullan" mı dersiniz, değerli ustalar fikir ve düşüncelerinizi paylaşırsanız sevinirim.</p>
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
hiç denemedim fakat söyle söylim.
wordpress kendi altyapısı bilenler zaten ona uygun tema yapıyor ve o temalar başka yerde haliyle çalışmıyor.
senin yaptığın panel de sabit olacağını düşünürsek.
tema klasörüne tema klasörünüde attık diye düşünelim.
include $temaklasörü/header.php
$temaklasörünüde panelden seçtiğin temanın adı olur.
css ve js dosyalarını da bu şekilde yönlendirisin temayı atarsın panelden seçersin
tabi panelden seçmek için eklemen gerek yada
klasörü isimlerini listelemek sonradan onu sql e kayıt edim $temaklasör ü doldurman gerek.
sadece bir fikir.