» » » » Custom tagı kullanımı - Tüm sürümler için

Custom tagı kullanımı - Tüm sürümler için

MaRZoCHi
MaRZoCHi Kurucu 28-06-2016, 13:24
Custom tagı istediğiniz makaleleri istediğiniz yerde ve istediğiniz şablon ile gösterebilmenize yarar.
Eğer sitenizi özelleştirmek istiyorsanız kesinlikle custom tagına ihtiyaç duyacaksınız.
Ayrıca anasayfada content tagı ile görüntülenen içerikleri bile custom tagı ile farklı parametreler ekleyerek gösterebilirsiniz.
Tag'ın genel hali:
{custom parametreler...  }

Önemli olan kısım ise parametrelerdir. Parametrelerin dışında, kullanıcının görüntüleme izinlerine sahip olması ve gösterilecek olan makalelerin yayınlanmış olması gerekmektedir.
Anlatım için 10.2 sürümü ile başlayıp, yeni sürümler ile gelen parametrelerin kullanımlarını açıklayacağım.
Her parametre için kullanım aynıdır: parametre="değer"
Varsayılan değerleri belirtilen parametreleri kullanırken, belirteceğiniz değer varsayılan değer ile aynı ise yazmanıza gerek yoktur.


aviable
aviable'tagının varsayılan değeri global'dir. Yani aviable' global dışında bir yer belirterek; Örneğin main olarak belirttiğinizde, eklediğiniz kod yalnızca anasayfada çalışacaktır.

Bu parametre için kullanılabilecek değerler:

global - sitenin genelinde
main - ana sayfada
date - tarihsel periyod sayfasında
cat - kategori sayfasında
showfull - makale içeriği sayfasında
search - arama sonuçları sayfasında
userinfo - kullanıcı profili sayfasında
register - kayıt ol sayfasında
stats - istatistikler sayfasında
pm - kişisel mesajla sayfasında
feedback - iletişim sayfasında
favorites - favori içerikler sayfasında
newposts - yeni eklenenler sayfasında
addnews - makele ekleme sayfasında
lastnews - son eklenenler sayfasında
lastcomments - son yorumlar sayfasında
lostpassword - şifremi unuttum sayfasında
static - sabit sayfalarda
catalog - katalog sayfasında
alltags - etiket bulutu (tüm etiketler) sayfasında
tags - makaleye ait tag görüntülenirken
allnews - sitedeki veya tek bir kullanıcıya ait makaleler görüntülenirken

Tekli kullanım
aviable="addnews"

Çoklu kullanım
aviable="pm|addnews|static"



id
id parametrelesi makale id'leri için kullanılır. Örneğin sitenin bir kısmında bir veya daha fazla ama değişmeyecek şekilde konuları göstermek istiyorsunuz.
Bunun için değer olarak o makalelerin id'lerini giriyorsunuz.

Girilecek değerler virgül ile ayrılmadır.
Örnek: 1,2,3
id="1,2,3"

Ya da
Örnek: 1-4 ( Bu şekilde kullanıdığında 1,2,3,4 ü temsil edecektir )
id="1-4"



category
category parametresi hangi kategorilerden makale çekileceğini belirtmenize yarar. Örneğin sitenizde belirli bir veya birkaç kategoriden içeriği blokta göstermek istiyorsunuz.
Bunun için içerik çekilecek o kategorilere ait id'leri belirtmeniz gereklidir.
Ayrıca bu parametre için o kullanıcı grubuna ait izinler kullanılır. Yani görüntüleme izni olmayan kategoriye ait içerikler o kullanıcıya gösterilmez.

Girilecek değerler virgül ile ayrılmadır.
Örnek: 1,2,3
category="1,2,3"

Ya da
Örnek: 1-4 ( Bu şekilde kullanıdığında 1,2,3,4 ü temsil edecektir )
category="1-4"



days
Bu tagı "ekleneli x gün olmuş" makalelerin gösterimi için kullanabilirsiniz. Örneğin: son 3 günde eklenen içerikler gibi..
Örnek: Son 3 gün içinde eklenen konular
days="3"


futureannounce ( DLE 11.3 ve üstü )
Bu tag üstteki days tagı ile birlikte kullanılmaktadır. "önümüzdeki x gün içinde eklenecek" makalelerin gösterimi için kullanabilirsiniz. Örneğin: önümüzdeki 3 günde eklenecek olan içerikler gibi..
Örnek: Önümüzdeki 2 gün içinde eklenecek konular
days="2" futureannounce="yes"



author
Bu tag ile belirli bir kullanıcıya ait içerikleri çekebilirsiniz. Örnek: admin adlı kullanıcının eklediği makaleler gibi.

Girilecek değer
Örnek: admin
author="admin"

* DLE 10.6 ve üstü sürümlerde çoklu olarak kullanılabilir:
Örnek: admin ve root
author="admin,root"



template
template, yani şablon seçimi yapacağınız parametredir. Custom'ı custom yapan en önemli parametredir.
Her custom için template belirtilebilir ve böylece her kod için farklı görünüm kullanabilirsiniz.
Varsayılan değeri shortstory 'dir.

Referans olarak shortstory.tpl dosyasını kullanabilirsiniz. Örneğin shortstory.tpl'yi kendinize göre düzenleyip adını son_eklenenler.tpl yapın kullanımı aşağıdaki gibi olacaktır.
Örnek değer için: son_eklenenler
template="son_eklenenler"

Özel tpl dosyalarını tema klasörü anadizine atabilirsiniz. Yeni DLE sürümlerinde bu özel şablonları bir klasörde toplayalabilirsiniz.
Örnek: ozel/son_eklenenler
template="ozel/son_eklenenler"

ozel adında bir klasör açıp içine atabilirsiniz.

Dikkat edilmesi gereken noktalar: Klasör açıp içine atılacaksa bu klasör tema ana dizininde olmalıdır. Yani main.tpl, shortstory.tpl .. gib dosyaların bulunduğu dizin.
Şablon dosyaları özel ( Türkçe ) karakterler içermemeli ve .tpl ile bitmemelidir.


from
from ve limit daha çok birlikte kullanılır. from, makale çekme işlemine kaçıncı makaleden başlayacağını belirtir. Ne amaçla kullanılır derseniz:
Örneğin bir slider'ınız var. İlk slide farklı geri kalan 4 tanesi ise aynı. Bu durumda ilki ve sonrakiler için iki ayrı tpl oluşturmanız gerekir.
Ve ilk-sonrakiler ayrımı için yapmanız gereken
Varsayılan değeri 0'dır.
İlki için ( 0'dan başla 1 tane göster )
from="0" limit="1"

Sonrakiler için ( 1'den başla 4 tane göster )
from="1" limit="4"



limit
Kaç adet makale seçileceğini belirtmeye yarar.
Varsayılan değeri admin panelden ayarlanan, sayfada kaç makale gösterilecek ayarıdır.
Örnek kullanım:
limit="5"



cache
Önbellekleme ayarıdır. Sistem kullanılan parametreleri kullanarak her custom için bir değer atar. Bu değer parametrelere bağlı olduğu için aynı custom kodlarına ait sadece 1 önbellek dosyası oluşturulur.
Parametreleri farklı olan custom kodları için ayrı ayrı önbellekler oluşturulur. Böylece parametre değişene kadar ve önbellek dosyası silinmediği sürece, kullanıcılar için sonraki ziyaretlerinde bu makaleleri yeni bir veritabanı sorgusu ile çekmek yerine önbellekten okunur.
Bu sayede veritabanı sorgularını azaltmış olursunuz. Fazla custom kodu barındıran veya fazla kullanıcıya hitap eden siteler için bu ayarın açık olmasını öneririm.
Aktifleştirmek için değeri "yes" yapmanız gerekir. Ayrıca admin panelden önbellekleme özelliğinin de aktif olması gerekir.
Varsayılan değer "no" dur.

Örnek kullanımlar:
Önbellekleme açık - admin panelden de aktif ise
cache="yes"

Önbellekleme kapalı
cache="no"



fixed
Sabit makaleler için kullanılan bir parametredir.
Kullanılabilir değerler:
yes - Öncelikli olarak sabit makaleler listenir. ( sıralama olarak ilk görüntülenir )
only - Sadece sabitlenmiş makaleler görüntülenir
without - Sadece sabitlenmemiş makaleler görüntülenir


fixed="without"



order
Çekilecek makalelerin nasıl sıralacağını belirtmek için kullanılır.

Kullanılabilir değerler ( Tüm sıralamalarda, son eklenenler ve değeri yüksek olanlar önceliklidir ):
date - Tarihe göre sıralama
rating - Değerlendirmelere göre sıralama
reads - Gösterim sayısına göre sıralama
comments - Yorum saysına göre sıralama
title - Başlığa göre sıralama ( Alfabetik A->Z )
rand - Karışık sıralama
editdate - Düzenlenme tarihi ( DLE 11.2 ve sonrası )

order="reads"



navigation
Navigasyon özelliğini aktif etmek için kullanılır. Örneğin anasayfada content yerine custom kullandığınızda ( admin panelinden Anasayfada, varsayılan içerik çekme türü: ayarı değiştirmeniz gerekli ) navigasyon özelliğini aktif ederek kullanıcıların diğer sayfalara geçebilmesini sağlayabilirsiniz.
Varsayılan değer "no"

Navigasyon aktif
navigation="yes"

Navigasyon deaktif
navigation="no"



idexclude ( DLE 10.4 ve üstü )
id parametresinin tam tersi olarak çalışır. Çekilen makalelerden göstermek istemediklerinizi belirtmenize yarar.

Girilecek değerler virgül ile ayrılmadır.
Örnek: 1,2,3
idexclude="1,2,3"

Ya da
Örnek: 1-4 ( Bu şekilde kullanıdığında 1,2,3,4 ü temsil edecektir )
idexclude="1-4"



categoryexclude ( DLE 10.4 ve üstü )
category parametresinin tam tersi olarak çalışır. İçerik çekilmesini istemediğiniz kategorileri belirtmenize yarar.

Girilecek değerler virgül ile ayrılmadır.
Örnek: 1,2,3
categoryexclude="1,2,3"

Ya da
Örnek: 1-4 ( Bu şekilde kullanıdığında 1,2,3,4 ü temsil edecektir )
categoryexclude="1-4"


sort ( DLE 10.4 ve üstü )
Sort, sıralamanın artan/azalan yönde yapılacağını belirtmenize yarar. order tagı ile birlikte kullanılır.
Önceki sürümler için sırlamalar sistem tarafından belirleniyordu. Artık sort tagı ile siz belirleyebilirsiniz.

Kullanımı:
Artan yönde
sort="asc"

Azalan yönde
sort="desc"



tags ( DLE 10.5 ve üstü )
Belirtilen etiketleri içeren makaleleri çekmek için kullanılır. Örneğin belirlediğiniz 3 etiket için, bunların kullanıldığı makaleleri çekmek istiyorsunuz.
Etiketler: dle, makale, cms
Girilen bu etiketlere sahip makaleleri listeler.

Kullanımı ( tekli ve çoklu ):
tags="dle"
tags="dle,makale,cms"



available ( DLE 10.6 ve üstü )
Bu parametre aviable ile tamamen aynıdır. İngilizcedeki kullanımı nedeniyle 2 farklı yazım şekline sahip.


authorexclude ( DLE 10.6 ve üstü )
Çekilecek makalelerden, belirtilen kullanıcı ya da kullanıcılara ait içerikleri çekmemek için kullanabilirsiniz. Örnek: admin ve root adlı kullanıcının eklediği makaleler görünmesin gibi.

Girilecek değer
Örnek: admin
authorexclude="admin"

Örnek: admin ve root
authorexclude="admin,root"



catalog ( DLE 10.6 ve üstü )
Katalog sistemi aktif ise, sitenize eklediğiniz her makalenin baş harfleri ayrıca kaydedilecektir. ( Sonrada aktif ederseniz, konuları güncelle bölümünü kullanınız. )
Daha sonra bu verilere göre custom da A harfi ile başlayan konuları liste gibi bir yöntemi kullanabilir olabileceksiniz.

Girilecek değer
Örnek: a
catalog="a"

Örnek: a,b ve c
catalog="a,b,c"



xfields ( DLE 10.6 ve üstü )
Makalenin ilave alanlarına girilen değerlere göre filtreleme yapar. Çoklu kullanımı da mevcuttur.
Fakat sorgular "tam olarak eşleşen" şeklinde değil "içeren" şeklinde yapıldığı için sonuçlar istediğinizin dışında olabilir.
Örneğin film siteniz var; Yapım yıllarını ilave alanlara giriyorsunuz ve 2016 yapımı filmleri ayrıca bir yerde göstermek istiyorsunuz.

Girilecek değer
Örnek: 2016
xfields="2016"

Örnek: 2014,2015 ve 2016
xfields="2014,2015,2016"



xfieldsexclude ( DLE 10.6 ve üstü )
xfields parametresinin tam tersi olarak çalışır. Girilen değerleri içermeyen makaleleri filtreler.
Üstteki örnek için; Girilen yıllara ait olmayan filmler listeenebilir.

Girilecek değer
Örnek: 2016
xfieldsexclude="2016"

Örnek: 2014,2015 ve 2016
xfieldsexclude="2014,2015,2016"



catalogexclude ( DLE 11.0 ve üstü )
catalog parametresinin tam tersi olarak çalışır. Çekilen makalelerden, belirtilen harfler ile başlamayan makaleleri göstermeye yarar.

Girilecek değer
Örnek: a
catalogexclude="a"

Örnek: a,b ve c
catalogexclude="a,b,c"


Tüm parametreleri custom içerisinde boşluk bırakarak ekleyerek özel "custom" kodunuzu üretebilirsiniz.
Sistem orjinalindeki custom parametrelerine ek olarak aşağıdaki düzenlemeler ile yeni parametreler katabilirsiniz.

Custom için Eklentiler

Custom için kullanıcı profilinde kullanıcıya ait konular

Custom için favorites parametresi

Custom için yorumlandı parametresi

Custom için xfield parametresi

Custom için anasayfada yayımlananlar parametresi

Geçerli kategoride { custom }

Custom için author-not parametresi

Hazırlayan: Mehmet Hanoğlu
Kaynak: https://dle.net.tr
Bilgilendirme
Yorum Ekleyebilmeniz için Sitemize Kayıt Olmanız Gerekmektedir.
2
muhammedmermer 13 Aralık 2017 13:54
Çok teşekkür ederim, gerçekten başarılısınız hocam, DLE yi sizin sayenizde kaynak problemi yaşamadan ciddi anlamda öğrendim diyebilirim, tekrardan çok teşekkür ederim sağolasınız, ilerde ücretli eklentilerinizi alacağım inş. Başarılarınızın devamını dilerim
3 730
MaRZoCHi 19 Haziran 2017 14:23
futureannounce tagı kullanım bilgisi eklendi.

--------------------
3
hard3st1 28 Şubat 2017 20:26
sabit sayfa açıp custom ile listeleme yaptım ama navigation özelliği çalışmadı. Bir bilgisi olan var mı ?
75
Mtemizce 11 Şubat 2017 20:10
Arşiv niteliğinde çok güzel bir makale burayı sürekli ziyaret ediyorum :)

Bir sorum olacak;

group yada not group taglarını çoğunlukla kullanıyorum. bugün bir konu açtım ama henüz onaylanmadı, aklıma o arada bir yöntem geldi detayı şu şekilde;

Ziyaretçi siteme girdiğinde sitemin tamamını değil sadece giriş panelini görecek. Giriş yapıncada normal siteye erişebilecek. Kurduğum mantık aşağıdaki gibi

[group=5]<div class="ziyaretciust">{login}[/group] 
[not-group=5]<div class="uyeust"> {login}[/not-group]
</div>


Şimdi asıl mesele şu, denemelerimde başarılı sonuç elde ettim fakat yukarıda farkettiyseniz 2 div açıp 1 div kapattım. Tamam group yahut not-group tagları ile o divlerin biri kapanıyor ama asıl bilmediğim konu bu group yada not-group elementleri tamamen siliyor mu yoksa <!-- gizleme --> şeklinde gizliyor mu? F12 ile konsoldan baktım element görünmüyor yani bu demek oluyorki siliyor. Yanlış olan bir durum avrmı bu kullanımda yada sizin öneriniz varmı?
3 730
MaRZoCHi 28 Haziran 2016 20:14
@marika, teşekkürler.
Yeni özellikler eklendikçe güncellenecektir. Ayrıca bunlara ek olarak geliştirilenleri de ekleyeceğim mesaja.

--------------------
598
marika 28 Haziran 2016 13:36
Elinize sağlık. Çok ayrıntılı olmuş. Dleye ayrıntılarını öğrenmek isteyenler için birebir.
İSTATİSTİKLER