You need to enable JavaScript to run this app.

Ana içeriğe geç

Joomla'nın Gizli Gücü: MVC Mimarisi ve Şablon Geçersiz Kılma(Template Overrides)

Joomla'nın Gizli Gücü: MVC Mimarisi ve Şablon Geçersiz Kılma(Template Overrides)

Administrator
Joomla'nın Gizli Gücü: MVC Mimarisi ve Şablon Geçersiz Kılma(Template Overrides)
Joomla'yı ilk kez kurduğunuzda, karşınızda standart bir yapı, belirli bir düzen içinde sunulan makaleler ve modüller bulursunuz. Birçok yeni başlayan kullanıcı veya deneyimsiz geliştirici, bu standart görünümü müşterinin taleplerine göre değiştirmek istediğinde ölümcül bir hata yapar: Doğrudan Joomla'nın çekirdek dosyalarını (core files) düzenlemeye başlar. Örneğin, bir makalenin başlığının yerini değiştirmek için /components/com_content/... yolundaki PHP dosyalarını açıp kodları değiştirmek, o an için sorunu çözmüş gibi görünse de, aslında saatli bir bomba yerleştirmektir. Çünkü Joomla'ya bir güvenlik veya özellik güncellemesi geldiğinde, sistem bu çekirdek dosyaları yenileriyle değiştirecek ve yapılan tüm özel değişiklikler saniyeler içinde silinip gidecektir. İşte bu noktada, Joomla'nın profesyonel mimarisi devreye girer ve bize "Template Overrides" (Şablon Geçersiz Kılma) adı verilen muazzam bir esneklik mekanizması sunar. Bu mekanizmayı anlamak, standart bir Joomla kullanıcısı ile gerçek bir Joomla geliştiricisi arasındaki temel farkı oluşturur.



Bu esnekliğin temelinde, Joomla'nın üzerine inşa edildiği güçlü MVC (Model-View-Controller) tasarım deseni yatar. MVC, modern yazılım geliştirmede bir standarttır ve uygulamanın iş mantığını, veri katmanını ve sunum katmanını birbirinden kesin çizgilerle ayırır. Joomla dünyasında Model, veritabanı ile konuşan, verileri çeken ve işleyen kısımdır; "en son 5 makaleyi getir" emrini o yerine getirir. Controller, trafiği yöneten polistir; kullanıcının hangi linke tıkladığını analiz eder ve hangi modelin çalışması gerektiğine karar verir. View (Görünüm) ise, modelden gelen ham veriyi (örneğin, makale başlığı, metni, yazar adı) alır ve bunu HTML olarak ekrana nasıl basacağını belirler. Joomla'nın güzelliği, bu "View" katmanını, yani sunum dosyasını, çekirdek yapıdan tamamen koparıp kendi kullandığınız temanın içine güvenli bir şekilde kopyalamanıza izin vermesidir. Sistem bir sayfayı oluştururken önce sizin temanızın içindeki özel dosyaya bakar; eğer orada bir özelleştirme bulursa onu kullanır, bulamazsa çekirdek dosyaya döner.

Pratikte "Template Override" işlemi, Joomla'nın dosya hiyerarşisini anlamayı gerektirir ama mantığı son derece basittir. Diyelim ki standart makale görünümünde yazar adının, makale başlığının üzerinde görünmesini istiyorsunuz. Bunun için çekirdek dosya olan /components/com_content/views/article/tmpl/default.php dosyasını düzenlemek yerine, bu dosyayı kopyalayıp aktif kullandığınız temanın içine, /templates/SİZİN_TEMANIZ/html/com_content/article/default.php yoluna yapıştırırsınız. Artık bu yeni konumdaki dosya üzerinde istediğiniz HTML veya PHP değişikliğini özgürce yapabilirsiniz. Joomla, bir makaleyi göstermesi gerektiğinde, akıllı bir şekilde önce sizin temanızdaki /html klasörüne bakacak ve sizin düzenlediğiniz dosyayı "öncelikli" (override) olarak kabul edecektir. Bu yöntem sayesinde, Joomla çekirdeğini istediğiniz kadar güncelleyin, yaptığınız tasarımsal değişiklikler asla kaybolmaz, çünkü onlar güvenli bir alanda, temanızın koruması altında yaşamaya devam eder. Bu, sadece bir bileşenin görünümünü değil, modüllerin hatta basit bir "devamını oku" butonunun HTML çıktısını bile tamamen yeniden yazmanıza olanak tanıyan sınırsız bir özgürlük alanıdır.
İşin Doğrusu Youtube Kanalı