Muradiye Forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Aşağa gitmek
BaRaN
BaRaN

Özelleştirilmiş profil alanları yaratmak 1210
Erkek Yay
Yılan
Mesaj Sayısı : 873
Doğum tarihi : 02/12/89
Yaş : 34
Nerden : güneşin doğduğu yer(DOĞUBEYAZIT)
İş/Hobi : cep telefonu
Bilgi : <center><font color="blue"><marquee direction="left" style="background:white">Muradiye Forum Bilgi Paylaşım Platformu</marquee></font></center
Rep Gücü : 0
Rep Puan : 8
Kayıt tarihi : 20/12/08
http://muradiyeforum.net

Özelleştirilmiş profil alanları yaratmak Empty Özelleştirilmiş profil alanları yaratmak

Cuma Şub. 06, 2009 9:01 pm




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ı yaratmak 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

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:

Kod:




Not: Bu kod sizin dosyanızda başka özelleştirmelerden dolayı biraz farklı olabilir.
Hemen altına şunu ekleyin:

Kod:


Gerçek isim:
name="default_options[profile_gercek_isim]" size="50" value="',
@$context['member']['options']['profile_gercek_isim'], '"
/>


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:

Kod:

target="_blank">', $context['member']['website']['title'],
'



Hemen altına ekleyeceğiz:
Kod:


Gerçek isim:
', @$context['member']['options']['profile_gercek_isim'], '


Boş bırakmışlarsa bu alan görünmesin mi? O zaman onun yerine bunu kullanın:
Kod:

', !empty($context['member']['options']['profile_gercek_isim']) ? '
Gerçek isim:
' . $context['member']['options']['profile_gercek_isim'] . '' : '', '


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:

Kod:

// Show the member's gender icon?


Hemen üstüne, şunu ekliyoruz:

Kod:

if (!empty($message['member']['options']['profile_gercek_isim']))
echo 'Gerçek isim: ', $message['member']['options']['profile_gercek_isim'], '
';


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:

Kod:


Evcil hayvanınız:



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:

Kod:


Gerçek isim:
name="default_options[show_gercek_isim]" value="1"',
@$context['member']['options']['show_gercek_isim'] ? '
checked="checked"' : '', ' class="check" />


Ş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:

Kod:

', !empty($options['show_gercek_isim']) ? 'Merhaba!' : '', '


2. Yöntem:


Kod:

';

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:

Kod:


Özgeçmiş:







adresinden ücretsiz öğrenebilirsiniz. (İngilizce)
Sayfa başına dön
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz