Yükleniyor, lütfen bekleyiniz!

DLE temalarında özel fonksiyonların kullanımı

dle , datalife engine
Etiketler: DLE shortstory.tpl, DLE fullstory.tpl, DLE Tema Yapımı,DLE Reklam ekleme, DLE aviable, DLE kategori ekleme


Dle'nin tema yapısı dleyi cazip kılan özelliklerin başında geliyor. Smarty denilen kodlama yapısıyla hazırlanan tema alt yapısı, tema dosyalarında  php kodu kullanımını ortadan kaldırarak amatör kullanıcıların işini kolaylaştırıyor. Pek kullanılmadığını düşündüğüm ancak kullandığınızda temanıza bir çok farklı özellik katacak önemli fonksiyonlardan bahsedeceğiz.

Reklam tagı { banner_reklam }
Kullanımı kolay ama yinede bahsetmek gerekecek. Dle'de Reklamlar bölümüne girip reklam eklemek istediğimizde bize doldurduğumuz özel isme göre örneğin { banner_adsense468 } gibi bir kod verecektir. Bu kodu shortstory.tpl veya fullstory.tpl istediğimiz bir bölüme eklediğimizde, bir yazının kısa açıklama kısmı yada yazının devamında bulunan kısımda görünecektir. İstersek reklam kodunu eklerken yayınlanmasını istediğimiz kategoriyi seçersek bu reklam sadece o kategorilerde aktif olarak görünecektir. Bu şekilde uygulanmış bir örnek sayfayı görmek için bakınız.

Kullanıcı gruplarına özel alan tagı [group=1,2,3] bilgi [/group]

Bu tagın tema dosyaları içinde kullanılması kullanıcı gruplarına özel içerik yada bilgi sunmamızı sağlamaktadır. [group=1,2,3] bilgi [/group]  tag yapısı sitemizdeki kullanıcı grupları olan Yönetici, Editör,Yazar, Üye, Ziyaretçi gruplarından istediğimize bilgi yada bir html element göstermemizi (çalıştırmamızı) sağlar. Köşeli parantezler içinde kalan bilgi yazan bölüme istersek html yada css kodlar girerek 1,2,3 gibi sayıların bulunduğu bölüme ise bu css yada html nin görünmesini istediğimiz kullanıcı grubu sayıları girerek bu tagı kullanabiliriz. 1 sayısı yöneticilere , 2 sayısı Editörlere, .... içeriğin yada özel kodun gösterilmesini sağlayacaktır. Aralarına virgül koyarak kullandığımızda o sayıları temsil eden grupların hepsine birden bu işlem uygulanacaktır. [not-group=1,2,3] html [/not-group] şeklinde kullanımıda mevcuttur. Bu kullanımın anlamıda, "html" yazan yere gelecek kod yada bilgiyi 1,2 ve 3 yani yönetici, editör ve yazar grupları dışındakilerde çalışacaktır.
Örneğin fullstory.tpl de allttaki kodu kullanarak, sitenize girmiş bir yazıyı okuyan ziyaretçilere üye ol çağrısında bulunabilirsiniz. Bu uyarı diğer hiç bir gruba görünmeyecektir.
Kullanıcı gruplarına özel koda örnek[group=5]Sitemize üye olarak sitemizdeki bir çok özellikten daha yararlanabilirsiniz.Üye olmak için tıklayınız [/group]


Include tagı {include file="my_block.tpl"}

Bu tag phpdeki include fonksiyonun görevini görmektedir. Tema dosyalarınızda  daha düzenli bir yapı olmasını sağlamak için özel oluşturacağınız tpl dosyalarını temanız içine çekmenizi sağlar. Örneğin main.tpl dosyanızda sol kolon ve sağ kolanları ayrı iki tpl yaparak yine main.tpl ye bu sol ve sağ kolon tpllerini gerekli yerlere {include file="solblock.tpl"} ve {include file="sagblock.tpl"} şeklinde eklediğinizde main.tpl dosyanız daha düzenli bir yapıya kavuşacaktır.

Aviable tagı [aviable=main|showfull] html [/aviable]

En kullanışlı taglardan birine geldi sıra. Aviable kelimesi bir çok anlama gelmektedir. "Kullan" kelimesi en doğru karşılığıdır. Temanızda istenilen bir html,css yada js kodu dle yapısı içinde bazı yapılarda çalıştırmak yada çalıştırmamak işine yarayacak özel bir tagdır. Bu yaplardan kasıt; aviable kodundan sonra sadece  main yazarsak bu kodları sadece anasayfada, showfull yazarsak sadece yazı içi yapısında, main|showfull yazarsak ikinsinde birden çalışmasını ve diğer özel yapılarda mesela arama sonuç sayfaları,haber ekleme,kayıt sayfası gibi geriye kalan tüm alanlarda html yazan yere girdiğimiz kodları çalıştırmayacaktır.
Daha somutlaştırmak için bir kaç örnek vereceğim.Sitemde anasayfada sol kolonda son yorumlar modülü vardır. Bu son yorumlar modülü sistemi çok fazla yormaması için sadece anasayfada çalışmasını alttaki kod ile sağlayabilirsiniz.
Aviable örnek kullanım [aviable=main] { lastcomments } [/aviable]
Yada temanızı genileşletmekte kullanabilirsiniz. Sitenizin main.tpl sinde sağ kolonu yazı içinde kaybedebilirsiniz. Burada ki sitedeki gibi yazı içine girdiğinizde sağ sütunu kaybedebilirsiniz. Bunu yapabilmeniz için main.tpl de sağ sütunu oluşturan kodları tespit ettikten sonra [not-aviable=showfull]sağ kolon html kodları[/not-aviable] şeklinde kullanarak showfull yani tüm yazı bölümü haricinde görünmesini sağlayabilirsiniz.
Bu aviable tagına eklenecek ve kullanılabilecek kodlar
Aviable deki özel taglar
global - tüm sitede
main - anasayfada
cat - kategorilerde
showfull - tüm yazıda
search - arama sayfalarında
userinfo - kullanıcı profili sayfalarında
register - kayıt sayfasında
stats - istatistik sayfasında
pm - özel mesaj sayfasında
feedback - iletişim sayfasında
addnews - yazı ekleme sayfasında
lastcomments - son yorumların sıralandığı sayfalarda
static - sabir sayfalarda
catalog - kataloglarda
alltags - tüm tagların buluğu sayfada
tags - herhangi bir etiket sayfasında
Category tagı [category=1,2,3] html [/category]
Daha öncekilere benzer şekilde bu tagda istenilen html,css yada js kodları istenilen kategorilerde çalıştırmasını sağlayan bir koddur.1,2,3 sayılar kategori id leri ifade etmektedir. Kategorilerin idleri admin panelde kategoriler bölümünde kategori isimlerinin yanında görünmektedir. Ayrıca [not-category=1,2,3] html [/not-category] şeklinde kullanımıda 1,2 ve 3 idli kategoriler dışıdanki tüm kategorilerde kodunuzu çalşıtıracaktır.

Custom tagı  {custom category="1,2" template="custom" aviable="global" from="0" limit="10" cache="yes"}
Dle tema yapımında temanızı farklı bir yapıya oturtabilmek için kullanabileğiniz önemli bir tagda Custom tagıdır.Yukarıda ki örnek kullanım bize, istediğimiz kategorilerdeki yazıları istediğimiz özel yapılarda ve temamızın istediğimiz bölümünde allta alta sıralamaya yarayacak bir koddur. KinoBesT.kz sitesindeki haberlerin farklı olarak alt alta yada yan yana dizilmelerini bu tag yapısı ile gerçekleştirebilirsiniz. category=" " kısmına o bölümde çıkacak yazıların hangi kategorilerdeki haberlerden oluşacağını belirliyorsunuz ( kategori idleri). template=" " te ise bu yazıları göstereceğiniz shortstory.tpl görevini görebilecek bir tpl ismi girmeniz gerekiyor. Bu tplyi kendiniz hazırlayıp tema klasörü içine ekleyerekte kullanabilirsiniz. avaible=" " içine ise bir önce başlıkta anlattığımız yapının kullanımı var. from=" " ise başta özel oalrk belirlemiş olduğumuz kategorideki haberleri kaçıcını sıradan başlayacağı, limit=" " te ise kaç adet haber çıkacağını belirliyoruz.  cache=" " te ise önbellek yapıp yapmayacağını belirliyoruz.


Ömer Faruk Kul | 4 May 2014 15:35 | Ziyaretçi
avatar
Bu bilgiler tam aradığım bilgilerdi, DLE ile yapılamaayacak site yok bence wordpress'in en sağlam alternatifi. Çok teşekkür ederim ellerinize emeğinize sağlık.
   
rejisor | 13 Ağustos 2010 18:40 | Üye
avatar
Çok teşekkürler bu bilgiler çok işime yarayacak emeğinize ve klavyenize sağlık : ))
   
terbilen | 30 May 2010 19:43 | Üye
avatar
mathsman, Emeğe her zaman saygımız vardır :) Bende bir manşet sistemi geliştirdim.. İncelemek isterseniz link: http://www.cssders.com/45-dle-manset-sistemi.html

Teşekkürler yararlı bilgileriniz için tekrardan.
   
mathsman | 30 May 2010 01:11 | Yönetici
avatar
Link olmasa bile text olarak matematiktutkusu.com yazarsan sevinirim.
__________________

Sitemizi arkadaşlarınıza tavsiye ediniz. Destek için yazının altındaki Beğen butonuna tıklayınız.
   
terbilen | 30 May 2010 00:55 | Üye
avatar
Emeğine sağlık kardeşi, iznin olursa biraz değiştirerek bende paylaşmak istiyorum sitemde.
   

Zorunlu

Zorunlu