Datalife Engine Türkçe İndir

Datalife Engine 13.1

  • Pluginler için otomatik güncelleme özelliği
  • Yeni Beğen/Beğenme oylama sistemi
  • İlave alanlar için yeni özellikler

Github'dayız

Kendi yapımımız olan modüllerin neredeyse tamamını ücretsiz olarak Github üzerinden yayımladık. Sadece bu modüller için "destek" verilecektir.

Bitiriyoruz

2014 yılından itibaren verdiğimiz hizmeti tam 5 yıl sonra aynı günde sonlandıracağız. Yedeklemek istediğiniz içerikler için acele edin..

» » Kategoriler için Custom

Kategoriler için Custom

Custom daki aynı mantık ile makaleler yerine kategorilerden veri çekebilirsiniz. Bunun için tek düzenleme ile yeni bir .tpl dosyası oluşturmaya ihtiyacınız olacak.

En genel halde kullanım :
{categories template="categories" id="21,1,2,3,24" order="id,ASC" limit="3"} 


Kodun açıklaması :

template: kullanılacak olan şablon dosyası ( /TEMANIZ/categories.tpl )
id: Çekmek istediğiniz kategori ID leri, tümü için bu kısmı silin id="21,1,2,3,24"
order: Çekilen kategoriler için sıralama, aşağıdaki TPL dosyasındaki tagları kullanabilirsiniz
limit: Kategori çekme işlemi için limit, fazla id yazarsanız veya id yazmayıp tümü çekmek istediğinizde limit ile sınır koyabilirsiniz.

En genel TPL dosyası için taglar :
{id}
{icon}
{name}
{alt_name}
{metatitle}
{posi}


Kurulum :

Aç - index.php / engine/modules/main.php

Bul :
$config['http_home_url'] = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );


Üstüne Ekle :
// MWS Custom Cats
function custom_cats( $matches = array() ) {
	global $db, $cat_info, $config, $user_group, $category_id, $_TIME, $lang, $category_id, $PHP_SELF;
	if ( !count($matches) ) return "";
	$param_str = trim( $matches[1] );
	if( preg_match( "#limit=['\"](.+?)['\"]#i", $param_str, $match ) ) { $limit = $db->safesql( trim( $match[1] ) ); }
	if( preg_match( "#template=['\"](.+?)['\"]#i", $param_str, $match ) ) { $template = $db->safesql( trim( $match[1] ) ); }
	if( preg_match( "#id=['\"](.+?)['\"]#i", $param_str, $match ) ) { $ids = $db->safesql( trim( $match[1] ) ); }
	if( preg_match( "#order=['\"](.+?)['\"]#i", $param_str, $match ) ) { $order = $db->safesql( trim( $match[1] ) ); }
	if ( !empty( $order ) ) {
		$_tmp = explode(",", $order );
		$ORDER = " ORDER BY {$_tmp[0]} {$_tmp[1]}";
	} else {
		$ORDER = " ORDER BY id ASC";
	}
	$LIMIT = ( !empty( $limit ) ) ? " LIMIT 0," . intval($limit) : "";
	if ( !empty( $ids ) ) {
		$_tmp = explode(",", $ids); $_tmp = array_map( "intval", $_tmp );
		$ids = implode( ",", $_tmp );
		$WHERE = " WHERE id IN ({$ids})";
	} else {
		$WHERE = "";
	}
	$db->query("SELECT * FROM " . PREFIX . "_category{$WHERE}{$ORDER}{$LIMIT}");
	$tpl = new dle_template();
	$tpl->dir = TEMPLATE_DIR;				
	$tpl->load_template( $template . '.tpl' );	
	while ( $row = $db->get_row() ) {
		$tpl->set("{id}", $row['id']);
		$tpl->set("{icon}", $row['icon']);
		$tpl->set("{name}", $row['name']);
		$tpl->set("{alt_name}", $row['alt_name']);
		$tpl->set("{metatitle}", $row['metatitle']);
		$tpl->set("{posi}", $row['posi']);
		$tpl->compile("custom_cats");
	}
	
	return $tpl->result['custom_cats'];
}

if (stripos ( $tpl->copy_template, "{categories" ) !== false) {
	$tpl->copy_template = preg_replace_callback ( "#\\{categories(.+?)\\}#i", "custom_cats", $tpl->copy_template );
}
// MWS Custom Cats


Yapımcı: Mehmet Hanoğlu
Kaynak: https://dle.net.tr
Bilgilendirme
Yorum Ekleyebilmeniz için Sitemize Kayıt Olmanız Gerekmektedir.
41
flysquare 10 Ocak 2019 22:29
kusura bakmayın :)
0
3 753
MaRZoCHi 10 Ocak 2019 21:43
@flysquare⁠ o satıra biraz daha dikkatli bakınız..

--------------------
0
41
flysquare 10 Ocak 2019 20:52
Alıntı: MaRZoCHi
@flysquare⁠ 

{categories template="burada yazdığınız tpl dosyasına" id="21,1,2,3,24" order="id,ASC" limit="3"} 

peki bu index.php içinde arayacağımız kod ana dizindeki index.php içinde bulunmuyor
0
3 753
MaRZoCHi 10 Ocak 2019 12:27
@flysquare⁠ 

{categories template="burada yazdığınız tpl dosyasına" id="21,1,2,3,24" order="id,ASC" limit="3"} 

--------------------
0
41
flysquare 10 Ocak 2019 10:25
Alıntı: MaRZoCHi
        $tpl->set("{id}", $row['id']);
        $tpl->set("{icon}", $row['icon']);
        $tpl->set("{name}", $row['name']);
        $tpl->set("{alt_name}", $row['alt_name']);
        $tpl->set("{metatitle}", $row['metatitle']);
        $tpl->set("{posi}", $row['posi']);
@flysquare⁠ veritabanı görüntüleyin phpMyAdmin veya alternatif sistemlerden... dle_categories tablosunu açın

oradaki kolonların adı üstte verdiğim koddaki $row[' arasındaki '] ile aynıdır. Açıklama veritabanında hangi kolon ise onu yazın. {buraya da istediğiniz bişey yazın}, bu şablonu tpl ye ekleyin.

anladım ancak hangi tpl dosyasına shortstory-3 e ekleyince gözükmüyor
0
3 753
MaRZoCHi 8 Ocak 2019 22:36
        $tpl->set("{id}", $row['id']);
        $tpl->set("{icon}", $row['icon']);
        $tpl->set("{name}", $row['name']);
        $tpl->set("{alt_name}", $row['alt_name']);
        $tpl->set("{metatitle}", $row['metatitle']);
        $tpl->set("{posi}", $row['posi']);
@flysquare⁠ veritabanı görüntüleyin phpMyAdmin veya alternatif sistemlerden... dle_categories tablosunu açın

oradaki kolonların adı üstte verdiğim koddaki $row[' arasındaki '] ile aynıdır. Açıklama veritabanında hangi kolon ise onu yazın. {buraya da istediğiniz bişey yazın}, bu şablonu tpl ye ekleyin.

--------------------
0
41
flysquare 7 Ocak 2019 18:38
Alıntı: MaRZoCHi
@flysquare⁠ tabi ki kendiniz oluşturmalısınız.

 peki category açıklamasını nasıl çekicem ile olmuyor
0
3 753
MaRZoCHi 6 Ocak 2019 15:58
@flysquare⁠ tabi ki kendiniz oluşturmalısınız.

--------------------
0
41
flysquare 6 Ocak 2019 15:00
temanın içinde categories diye bir tpl dosyası yok acaba kendim mi oluşturmalıyım eğer oluşturmam gerekiyorsa içine hangi kodları yazmalıyım
0
3 753
MaRZoCHi 31 Aralık 2017 01:16
@ezfuat, pozisyon, yani kategori sırası.. Veritabanındaki dle_category tablosundan bakabilirsiniz. Veriler oradan çekiliyor.

--------------------
0
0
ezfuat 30 Aralık 2017 23:33
@MaRZoCHi,teşekkür ederim posi tam olarak nedir. Link alabilir miyim. aramada bulamadım.
0
3 753
MaRZoCHi 30 Aralık 2017 13:14
@ezfuat, posi tagı kategorideki makale sayısını göstermiyor zaten. Onunla ilgili başka bir eklenti var.

--------------------
0
0
ezfuat 29 Aralık 2017 01:45
merhabalar teşekkür ederim öncelikle ancak {posi} değerinde bir artış olmuyor. Yani pisi yazılan yere kategoride kaç makale olduğu bilgisi gelmiyor 3 makale varken 1 gösteriyor. Yanlışım nerede
0
0
promiL 22 Temmuz 2016 19:55
@MaRZoCHi,

Yardımın için teşekkür ediyorum. Ancak son verdiğin kod ile main.php dosyasını değiştirdim.

Değiştirdikten sonra excludeid içerisine hangi değeri verirsem vereyim hepsini dışarda tutuyor ve listeleme yapmıyor.
0
3 753
MaRZoCHi 22 Temmuz 2016 19:41
@promiL, ikisini birleştirirsek.. URL için alt-name tagını kullanabilirsiniz.
Malesef, Category Xfield için güncelleme düşünmüyorum. Onun yerine TPL dosyalarında düzenlemeler yapabilirsiniz.
// MWS Custom Cats
function custom_cats( $matches = array() ) {
	global $db, $cat_info, $config, $user_group, $category_id, $_TIME, $lang, $category_id, $PHP_SELF;
	if ( !count($matches) ) return "";
	$param_str = trim( $matches[1] );
	if( preg_match( "#limit=['\"](.+?)['\"]#i", $param_str, $match ) ) { $limit = $db->safesql( trim( $match[1] ) ); }
	if( preg_match( "#template=['\"](.+?)['\"]#i", $param_str, $match ) ) { $template = $db->safesql( trim( $match[1] ) ); }
	if( preg_match( "#id=['\"](.+?)['\"]#i", $param_str, $match ) ) { $ids = $db->safesql( trim( $match[1] ) ); }
	if( preg_match( "#excludeid=['\"](.+?)['\"]#i", $param_str, $match ) ) { $exc_ids = $db->safesql( trim( $match[1] ) ); }
	if( preg_match( "#order=['\"](.+?)['\"]#i", $param_str, $match ) ) { $order = $db->safesql( trim( $match[1] ) ); }
	if ( !empty( $order ) ) {
		$_tmp = explode(",", $order );
		$ORDER = " ORDER BY {$_tmp[0]} {$_tmp[1]}";
	} else {
		$ORDER = " ORDER BY id ASC";
	}
	$LIMIT = ( !empty( $limit ) ) ? " LIMIT 0," . intval($limit) : "";
	$COND = array(); $WHERE = "";
	if ( !empty( $ids ) ) {
		$_tmp = explode(",", $ids); $_tmp = array_map( "intval", $_tmp );
		$ids = implode( ",", $_tmp );
		$COND[] = "id IN ({$ids})";
	}
	if ( !empty( $exc_ids ) ) {
		$_tmp = explode(",", $exc_ids); $_tmp = array_map( "intval", $_tmp );
		$exc_ids = implode( ",", $_tmp );
		$COND[] = "id NOT IN ({$exc_ids})";
	}
	if ( count( $COND ) > 0 ) $WHERE = " WHERE " . implode( " AND ", $COND );

	$db->query("SELECT * FROM " . PREFIX . "_category{$WHERE}{$ORDER}{$LIMIT}");
	$tpl = new dle_template();
	$tpl->dir = TEMPLATE_DIR;				
	$tpl->load_template( $template . '.tpl' );	
	while ( $row = $db->get_row() ) {
		$tpl->set("{id}", $row['id']);
		$tpl->set("{icon}", $row['icon']);
		$tpl->set("{name}", $row['name']);
		$tpl->set("{alt_name}", $row['alt_name']);
		$tpl->set("{metatitle}", $row['metatitle']);
		$tpl->set("{posi}", $row['posi']);
		$tpl->compile("custom_cats");
	}
	
	return $tpl->result['custom_cats'];
}

if (stripos ( $tpl->copy_template, "{categories" ) !== false) {
	$tpl->copy_template = preg_replace_callback ( "#\\{categories(.+?)\\}#i", "custom_cats", $tpl->copy_template );
}
// MWS Custom Cats

--------------------
0
0
promiL 22 Temmuz 2016 19:29
@MaRZoCHi,

İşe yaradı sayılır. excludeid="değer" yaptığım zaman verdiğim değer haricindeki kategorileri gizliyor verdiğim id'ye sahip kategoriyi gösteriyor sadece. Bunun tam tersi nasıl yapılabilir ?

2. Bir ekleme: Category XField modülünü 11.x versiyonlarıyla uyumlu hale getirmeyi düşünüyor musun ? :)
0
3 753
MaRZoCHi 22 Temmuz 2016 19:24
if( preg_match( "#excludeid=['\"](.+?)['\"]#i", $param_str, $match ) ) { $exc_ids = $db->safesql( trim( $match[1] ) ); }


	if ( !empty( $exc_ids ) ) {
		$_tmp = explode(",", $exc_ids); $_tmp = array_map( "intval", $_tmp );
		$exc_ids = implode( ",", $_tmp );
		$WHERE = " WHERE id NOT IN ({$exc_ids})";
	} else {
		$WHERE = "";
	}

İki kodu uygun şekilde ekleyin.
excludeid="1,2,3"
gibi kullanabilirsiniz.

--------------------
0
0
promiL 22 Temmuz 2016 19:01
Kategori hariç tutmak için eklenebilecek bir kod var mı ?

normal custom tagındaki gibi categoryexclude misal ?

Ekleme: kategoriye link vermek için de birşeyler yapılabilir mi ?
0
3 753
MaRZoCHi 24 Nisan 2016 19:54
index.php = engine/modules/main.php Try this ;)

--------------------
0
0
aristo06 24 Nisan 2016 10:46
10.6 doesn't work.
0
3 753
MaRZoCHi 11 Kasım 2015 14:31
@Jkeron, you can try ;)

--------------------
0
0
Jkeron 10 Kasım 2015 18:13
Bu sürümde 10.6 çalışır?
0
3 753
MaRZoCHi 30 Eylül 2015 23:49
Aynı eklentiyi iki kez yayınladığımı farkettim. Önceden eklediğim burada :)

--------------------
0
3 753
MaRZoCHi 28 Şubat 2015 09:33
@semender35, sürümünüz 10.4 ise index.php deki işlemleri engine/modules/main.php dosyasında yapmalısınız.

--------------------
0
0
semender35 27 Şubat 2015 23:22
arkadaşlar merhaba,
index sayfasında aşağı kodu bulun yazmışsınız ama index sayfasında böyle bir kod bulamadım. tam konum yazarmısınız acaba.

$config['http_home_url'] = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
0
103
mrt806 28 Nisan 2014 11:06
MaRZoCHi çok sağol açıklama için
0
3 753
MaRZoCHi 27 Nisan 2014 21:33
Teşekkürler,

Bildiğimiz custom ile kategori belirterek makaleler hakkında bilgiler çekebiliyoruz.
Bu eklentide ise makaleler ile ilgili hiçbir bilgi çekilmiyor. Sadece kategori bilgileri,
Örneğin Dizi-Film sitesinde, dizi kategorisinin alt kategorilerinin ID leri.
id="21,1,2,3,24"

Ana sayfada bu kategorileri göstermek için bu eklentiyi kullanabiliriz. Belirlediğimiz .tpl dosyasında, belirtilen tagları kullanarak listeleme yaptırılabilir.

id kısmını kaldırarak tüm kategoriler çekilebilir ki bu da direkt olarak ana kategori kullanan yani alt kategori kullanmayanlar için temada kategorilerin otomatik gözükmesi demek.

Umarım anlatabilmişimdir tam olarak. Anlaşılmayan kısımlar varsa tekrar sorabilirsiniz :)

--------------------
0
103
mrt806 27 Nisan 2014 21:25
kardeşim öncelikle emeğine sağlık
Bir sorum olacaktı ben mantığını anlamadım tam olarak

Şimdi custom ile çekince belirttiğimiz bir kategorideki makalelerden hazırladığımız tpl dosyasındaki özelliklere göre veri çekiyorduk şimdi bununla da aynısı mı yapılıyor. Yukarıda kategorilerden veri çekebilirsiniz demişsin tam olarak bu ne çekecek bir örnek verebilir misin sana zahmet
0
İSTATİSTİKLER