News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Üyeleri "Yer"e Göre Aratma Yardım

Started by mazdagaraj, January 15, 2015, 05:49:14 AM

Previous topic - Next topic

mazdagaraj

Merhaba arkadaşlar,
Buna ufak çaplı bir mod diyebiliriz.
Sitemde mevcut "Yer" alanı bulunmakta ve veri tabanında "member" tablosu altında "location" sütununda işleniyor.
Sitede "Üyelerde Ara" sayfasında çeşitli değişkenler var bildiğiniz gibi "İsme Göre Ara", "E-Posta adresine göre ara" vs. gibi.
Buraya "Bulunduğu Yere Göre Ara" Seçeneğini eklemek istedim. Memberlist.php dosyasını açtım
// Search for an location?
      if (in_array('location', $_POST['fields']))
      {
         $fields = array('location');
         $search_fields[] = 'location';
      }

şeklinde diğer arama kriterlerinin kodlarına bakarak kendimce yukarıdaki kodları ekledim. Dil dosyasında da gerekli değişikliği yaptım.

Aynı şekilde şu kısmada ekleme yaptım,
/ These are all the possible fields.
      $context['search_fields'] = array(
         'name' => $txt['mlist_search_name'],
         'email' => $txt['mlist_search_email'],
         'messenger' => $txt['mlist_search_messenger'],
         'website' => $txt['mlist_search_website'],
         'group' => $txt['mlist_search_group'],
         'location' => $txt['mlist_search_location'],

Şuan güzel çalışıyor "Üyelerde ara" kısmına geliyorum "Bulunduğu Yer göre ara" işaretliyorum, şehir giriyorum o şehirdeki üyeleri sıralıyor, fakat arama yaptığımda hata kaydına 2 adet hata oluştuyor tam olarak ne yapmam gerektiğini çözemedim.
"Üyelerde ara" kısmından "e-posta adresine göre ara" kısmıyla birlikte "bulunduğu yere göre ara"  birlikte işaretlemem gerekiyor yoksa belirttiğim hatalar oluşuyor.
Hatalar ekte yardımcı olursanız sevinirim.

mazdagaraj

Sorunu çözdüm arkadaşlar sonradan eklediğim kodları e-posta kodlarının arasına eklemişim. Bir üste aldım sorun düzeldi. Yeri gelmişken bu fonksiyonu eklemek isteyenler için tarif edeyim
memberlist.php'yi açın
Bulun:

// Search for groups.
if (in_array('group', $_POST['fields']))
{
$fields += array(9 => 'IFNULL(group_name, {string:blank_string})');
$search_fields[] = 'group';
}

Sonrasına ekleyin:

// Search for an location?
if (in_array('location', $_POST['fields']))
{
$fields = array('location');
$search_fields[] = 'location';
}

Bulun:

'group' => $txt['mlist_search_group'],

Sonrasına ekleyin:

'location' => $txt['mlist_search_location'],

index.turkish-utf8 açın
Bulun:

$txt['mlist_search_name'] = 'İsme Göre Ara';

Sonrasına Ekleyin:

$txt['mlist_search_location'] = 'Bulunduğu Yer göre ara';

Advertisement: