SMF SMF Alanı.

Özelleştirilmiş (yeni) profil alanları

Yeni Konu aç  Cevapla
 
Seçenekler Arama Stil
  #1  
Alt 6 Gün önce
Editör - ait Kullanıcı Resmi (Avatar)
Üye Rütbesi
 
 Ticaret: 0 (0%)
Mesajlar: 11
Konular: 11
Aldığı Beğeni: 0
Yaptığı Beğeni: 0
 İsim: A.C
 Yaş: 33
Uzmanlık: Adsense
Nereden: İstanbul
Üyelik: 09.05.2019
Standart Özelleştirilmiş (yeni) profil alanları

ÖNEMLİ NOT: Buradaki doküman, [unknown] isimli kullanıcı tarafından yazılmış olup, tarafımdan Türkçe'ye çevrilmiştir. Amacı; üye profillerinde, bilgi girilebilecek yeni alanlar yarIk.
Dokümanın orijinalini burada bulabilirsiniz: http://www.unknownbrackets.com/tutorials/custom-profile
Tarafımdan bazı yerlere küçük açıklamalar konmuştur, bütünlüğü bozmamak için belirtmedim.

SMF'de profil alanını özelleştirme, yeni profil alanları ekleme

İyi bir forum sahibi olmanın en önemli özelliklerinden biri, özelleştirilebilmesidir. Büyük değişimlerin yapıldığı özelleştirmelerde kullanıcılarınızın kendilerine ait bilgilerin profillerinde saklanmasını sağlayabilir. SMF, size bunu sağlayabilecek şekilde tasarlanmış ve istediğiniz şekilde özelleştirebilme imkanları sunmaktadır.
Burada okuyacağınız bilgiler SMF forumu için hazırlanmıştır ve diğer yazılımlarla çalışmayacaktır.

İstediğiniz tam olarak nedir?

Planlamak, hepinizin bildiği gibi, herşeyin anahtarıdır. Bunun için, öncelikle bazı şeyleri bilmeniz gerekir; ne türde şeyler istiyorsunuz, nasıl görünmesini istiyorsunuz, nerede istiyorsunuz ve nasıl seçeneklere sahip olmasını istiyorsunuz.. Bu rehberde birkaç değişik örnekle kendi isteğinize uygun özellikleri nasıl üretebileceğinizi anlatacağız. (Sade yazı, listeden seçme, seçme kutuları ve büyük yazı alanlrı gibi..) Elbette daha fazlası da mümkün; biz ise başlangıç için sadece örneklendireceğiz.

Şimdi bir sonraki adım, bunlardan hangisini kullanmak istediğinizi belirlemek. Örneğin, kullanıcının bir profil alanına sadece amaca özel (kısıtlı) bilgiler girmesini istiyorsanız, işinizi seçme listesi görecektir. Bununla birlikte, mesela lakabını soracaksanız, küçük bir yazı kutusu kullanırsınız. Ya da örneğin özgeçmiş girilmesini istiyorsanız geniş bir yazı alanına ihtiyacınız olacaktır.
Daha sonra seçiminizin nereden görünmesini istediğinizi belirlemelisiniz. Örneğin yazılan özgeçmişin kullanıcının her mesajında isminin altında görülmesini muhtemelen istemezsiniz; ama profiline bakıldığında görülmesini isteyebilirsiniz. Ya da özgeçmişlerini kayıt sırasında sormak istemeyebilirsiniz, belki sonra doldurulabilecek bir özellik olarak kullanmak istersiniz..

Tema sistemi meselesi

Şimdi özelleştirilmiş profil alanları yarIk için kullanacağımız yöntem, SMF'in bize sunduğu tema sistemidir. Bu sistem sayesinde, veritabanı üzerinde herhangi bir değişiklik yapmanıza veya girilen bilgilerin nerede saklandığı konusunda endişe duymanıza gerek kalmayacaktır. Her ne kadar böyle özelleştirilmiş alanları bir yönetim panelinden yönetmek mümkün de olsa, burada anlatacağımız metod, kontrolü elinizde tutmanız, neyin nerede ve nasıl görüneceğiniz kendinizin belirleyebilmesi açısından, daha kullanışlıdır. Ek olarak, PHP bilmenize de gerek yok; sadece kopyala/yapıştır yapmayı bilin yeter

Her zaman hatırlamanız gereken önemli bir konu: tema sisteminin doğasından ötürü, kullanacağınız kodlarda veya yazılarda tek tırnak işareti ( ' ) varsa, bunun tek başına değil de, bir ters bölü ( \ ) işaretiyle kullanılması gerekir. Ör: Ahmet'e gittim yerine; Ahmet\'e gittim.
Yanısıra, HTML ve CSS bilmeniz, işinizi büyük ölçüde kolaylaştırır. Bunları www.w3schools.com adresinden ücretsiz öğrenebilirsiniz. (İngilizce)

Bu özelleştirmeleri yaparken, bunların sadece o an kullanımdaki temada mı yoksa tüm temalarda mı görüneceğini de seçebilmeniz mümkün. Genellikle, özelleştirilmiş profil bilgileri tüm temalarda görünsün istenecektir. Bundan dolayı burada bu yöntem üzerinde duracağız. Bununla birlikte, bazı özellikler için, tüm temalarda kullanmak istediğinizde, varsayılan temayla beraber diğer temaların da dosyalarını düzenlemeniz gerekebilir. Varsayılan temayı değiştirdiğiniz takdirde, forum sürümünüzü yükseltmeye karar verirseniz, aynı değişiklikleri tekrar yapmanız gerekecektir. Mümkünse, varsayılan temanın bir kopyasını alın, bunu düzenleyin ve kullanın, varsayılan temanın kullanılmasını da engelleyin. (Yeni bir tema oluşturmak gibi düşünebilirsiniz)

Bu özelleştirmeleri yapmak için öncelikle kendinize bir adet güçlü bir düzenleme programı bulun. Dilerseniz notepad, wordpad gibi programarı kullanabilirsiniz. Programlama diline uygun renklendirme yapmak istiyorsanız ConTEXT'i tavsiye edebilirim.

Basit bir yazı alanı eklemek

Bu, muhtemelen en basit ve en genel yöntem. Bu özelleştirmenin örneği için, kullanıcının gerçek ismini yazmasını istediğimiz bir yazı alanı oluşturacağız.
1. /Themes/sizin_temanız/Profile.template.php dosyasını açıyoruz. Eğer kullandığınız temada bu dosya yoksa, varsayılan temadan bir kopya alıp buraya koyun.

2. Bu kodu arayın:
Code: [Select]
<td><input type="text" name="websiteUrl" size="50" value="', $context['member']['website']['url'], '" /></td>
Not: Bu kod sizin dosyanızda başka özelleştirmelerden dolayı biraz farklı olabilir.
Hemen altına şunu ekleyin:
Code: [Select]
</tr><tr>
<td><b>Gerçek isim: </b></td>
<td><input type="text" name="default_options[profile_gercek_isim]" size="50" value="', @$context['member']['options']['profile_gercek_isim'], '" /></td>
Not: Burada kullanılan "default_options" ifadesi, yaratacağımız yeni profil alanının tüm temalarda işlemesi içindir. Sadece o an kullanılan temada çalışması için "options" kullanın.

3. Eğer "Gerçek isim" adı altında yarattığımız bu alanın, kullanıcının profiline bakıldığında görüntülenmesini istiyorsak, bulacağız:
Code: [Select]
<td><a href="', $context['member']['website']['url'], '" target="_blank">', $context['member']['website']['title'], '</a></td>
Hemen altına ekleyeceğiz:
Code: [Select]
</tr><tr>
<td><b>Gerçek isim: </b></td>
<td>', @$context['member']['options']['profile_gercek_isim'], '</td>

Boş bırakmışlarsa bu alan görünmesin mi? O zaman onun yerine bunu kullanın:
Code: [Select]
', !empty($context['member']['options']['profile_gercek_isim']) ? '</tr><tr>
<td><b>Gerçek isim: </b></td>
<td>' . $context['member']['options']['profile_gercek_isim'] . '</td>' : '', '

4. Eğer bu "Gerçek isim" alanının, kullanıcının yolladığı her mesajda üye adı altında görünmesini istiyorsak, (örneğin yeni üye, mesajlar : 40 gibi..) bu da mümkün. Açıyoruz: /Themes/sizin_temanız/Display.template.php Arıyoruz:
Code: [Select]
// Show the member's gender icon?
Hemen üstüne, şunu ekliyoruz:
Code: [Select]
if (!empty($message['member']['options']['profile_gercek_isim']))
echo 'Gerçek isim: ', $message['member']['options']['profile_gercek_isim'], '<br />';
Bunun gibi aynı şekilde başka alanlar da ekleyebilirsiniz.

İstenilen şeyi listeden seçtirmek

Bu da yukarıdakiyle aynı yöntemdir. Yukarıdaki yönergeleri izleyin, yalnızca Profile.template.php adımında şunu kullanın:
Code: [Select]
</tr><tr>
<td><b>Evcil hayvanınız: </b></td>
<td><select name="default_options[profile_ev_hayvani]">
<option', @$context['member']['options']['profile_ev_hayvani'] == 'Kus' ? ' selected="selected"' : '', '>Kus</option>
<option', @$context['member']['options']['profile_ev_hayvani'] == 'At' ? ' selected="selected"' : '', '>At</option>
<option', @$context['member']['options']['profile_ev_hayvani'] == 'Kopek' ? ' selected="selected"' : '', '>Kopek</option>
<option', @$context['member']['options']['profile_ev_hayvani'] == 'Kedi' ? ' selected="selected"' : '', '>Kedi</option>
</select></td>
Kalan diğer basamaklarda, "profile_gercek_isim" ve "Gerçek isim" yerine "profile_ev_hayvani" ve "Ev hayvanınız" ifadelerini kullanacaksınız.

Seçme kutuları eklemek

Yine benzer şekilde, Profile.template.php basamağında, bunu ekleyin:
Code: [Select]
</tr><tr>
<td><b>Gerçek isim: </b></td>
<td><input type="checkbox" name="default_options[show_gercek_isim]" value="1"', @$context['member']['options']['show_gercek_isim'] ? ' checked="checked"' : '', ' class="check" /></td>
Şimdi profil alanında gerçek ismin görünüp görünmemesini kullanıcı kendisi seçebilir. Kullanıcının seçimine göre gerçek ismin görünmesini/görünmemesini şu şekilde ayarlayabilirsiniz:

1. Yöntem:
Code: [Select]
', !empty($options['show_gercek_isim']) ? 'Merhaba!' : '', '
2. Yöntem:
Code: [Select]
';

if (!empty($options['show_gercek_isim'])
{
echo 'Merhaba!';
}

echo '
İki yöntemde de eğer kullanıcı gerçek isim alanını doldurmuşsa, "Merhaba!" yazısını görüntüler. Üyenin gerçek ismini çağırmak için de bunu kullanacaksınız: $options['profile_gercek_isim']
Eğer Display (Konuların görüntülendiği) veya InstantMessages (Özel mesajların görüntülendiği) temalarda üyelerin gerçek isimlerini çağırmak isterseniz o zaman da kullanacağınız budur: $message['member']['options']['show_gercek_isim']

Büyük bir yazı alanı eklemek

Örneğin, kullanıcıların özgeçmişlerini yazabilecekleri bir alan oluşturmak istiyorsunuz, Profile.template.php basamağında bunu kullanın:
Code: [Select]
</tr><tr>
<td><b>Özgeçmiş: </b></td>
<td><textarea name="default_options[profile_ozgecmis]" rows="4" cols="80" class="editor">', @$context['member']['options']['profile_ozgecmis'], '</textarea></

Türkiye'nin Yeni Nesil Webmaster Platformu !
Zagor.Org
Alıntı ile Cevapla

Editör Kullanıcının Son 5 Konusu
Thread Forum Last Poster Replies Views Last Post
Seo puanı yükseltme ve xhtml hatalarını düzeltme... SMF Editör 0 8 18 2019 02:23
Özelleştirilmiş (yeni) profil alanları SMF Editör 0 4 18 2019 02:21
Başka forum yazılımlarından SMF'e nasıl geçilir? SMF Editör 0 6 18 2019 02:21
Smiley Eklemek ve Değiştirmek SMF Editör 0 4 18 2019 02:20
Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8... SMF Editör 0 4 18 2019 02:19

Cevapla

Etiketler
smf de yeni profil alanı, smf özelleştirilmiş profil


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler Arama
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı



Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Forum Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.
Güncel.Net | Forum | vBulletin Destek | Wordpress Destek | Mertozcan.Net | Mehmetözcan.Net | Korfezemlak.Com
Zagor.Org Tüm Hakları Saklıdır.