Advertisement:

Author Topic: Özelleştirilmiş (yeni) profil alanları yarIk  (Read 136606 times)

Offline Elmacik

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 8,276
  • Gender: Male
  • = Human Draft =
    • IT Store
Özelleştirilmiş (yeni) profil alanları yarIk
« on: December 12, 2005, 07:17:41 PM »
Ö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></td>
« Last Edit: March 30, 2008, 12:47:47 PM by alperuzi »
Home of Elmacik

Offline KirpiX

  • Jr. Member
  • **
  • Posts: 224
  • Gender: Male
    • LocKeD5
Re: Özelleştirilmiş profil alanları yarIk
« Reply #1 on: December 12, 2005, 07:44:31 PM »
harika bir döküman olmuş dostum bunun linkini yada bu dökümanı sabitlemeni tavsiye ederim çoğu kişinin işine yarayacak bilgilerle dolu bu türde bir düşünce ve uygulama için kutların seni teşekkürler aydınlattığın için
MsN Durumum Şu Anda------->
http://www.locked5.com/

Offline Elmacik

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 8,276
  • Gender: Male
  • = Human Draft =
    • IT Store
Re: Özelleştirilmiş profil alanları yarIk
« Reply #2 on: December 12, 2005, 07:47:18 PM »
KirpiX,
Her zamanki gibi, Sıkça Sorulan Sorular bölümüne eklendi zaten ;)
Fikrin için teşekkürler.
Home of Elmacik

Offline KirpiX

  • Jr. Member
  • **
  • Posts: 224
  • Gender: Male
    • LocKeD5
Re: Özelleştirilmiş profil alanları yarIk
« Reply #3 on: December 12, 2005, 07:55:13 PM »
dostum belki yeri değil ama sıkca sorulan sorular--Güncellendi--Tarih şeklinde yaparsanız başlığını herzaman oraya bakmayan arkadaşlarda yeni birşey eklendiğinin farkına varmış olurlar diye düşünüyorum
MsN Durumum Şu Anda------->
http://www.locked5.com/

Offline Fu®Kåñ

  • Semi-Newbie
  • *
  • Posts: 48
  • Gender: Male
    • ForumdaBulusalim.Com
Re: Özelleştirilmiş profil alanları yarIk
« Reply #4 on: December 13, 2005, 12:16:56 PM »
güzel calisma teprik ederim

bu kodalamari direk thmelari koyasiniz downloada öylece sunsaniz daha iyi olmazmi?
yoksa ben webmaster olucam kendim yaparsam :P

Offline bLeDa

  • Full Member
  • ***
  • Posts: 425
  • Gender: Male
  • bLeDa
    • Yeni Mekanımız...
Re: Özelleştirilmiş profil alanları yarIk
« Reply #5 on: December 13, 2005, 12:31:03 PM »
güzel calisma teprik ederim

bu kodalamari direk thmelari koyasiniz downloada öylece sunsaniz daha iyi olmazmi?
yoksa ben webmaster olucam kendim yaparsam :P

iyide farklı tema kullanıosan elbet manuel olarak ekliceksin  :D


Elmacik,

Bu dökümanı çevirdigin çok iyi olmuş; teşekkürler.
Gerçi salonlarda senin "yıldız"dı adın,
Hakikatte fahişesin ey alçak kadın!
Ey allıklı ve düzgünlü yosma bil şunu:
Bütün millet öğrenmiştir senin fuhşunu.
Omuzun da neden seni fuzuli çeksin?
.........................................
Kinimizin şiddetiyle gebereceksin!.. 
  Topal Asker - Hüseyin Nihal ATSIZ
Yeni Mekanlar

http://www.mekanbura.com  ( Paylaşım )
http://www.bulindir.net  ( Mp3 Download )

Offline Fatih!

  • Jr. Member
  • **
  • Posts: 229
  • Gender: Male
    • Fatih Küçükkelepçe
Re: Özelleştirilmiş profil alanları yarIk
« Reply #6 on: December 13, 2005, 03:39:59 PM »
Elmacik sen bizim herşeyimizsin :)
teşekkürler
Tek sorunu; düşünebilmekti…

Offline xlang

  • Jr. Member
  • **
  • Posts: 121
Re: Özelleştirilmiş profil alanları yarIk
« Reply #7 on: December 21, 2005, 04:55:31 AM »
Elmacik çeviri için teşekkürler :D  bu profile eklediklerimizi üyenin kaydolurken doldurmasını nasıl sağlayabiliriz acaba?

Offline UnS

  • Semi-Newbie
  • *
  • Posts: 19
Re: Özelleştirilmiş profil alanları yarIk
« Reply #8 on: December 21, 2005, 06:57:21 AM »
içinde profil.theme dosyası olmayan temalar bu sayfayı default'tan mı alıyolar acaba ben nasıl düzenliyecem bunu  :D :-\

Offline mssgoogle

  • Jr. Member
  • **
  • Posts: 163
    • wWw.Ehadi.NeT Türkiyenin İnteraktif Bilgi Portalı
Re: Özelleştirilmiş profil alanları yarIk
« Reply #9 on: December 21, 2005, 07:12:53 AM »
Eline koluna sağlık hocam çok faydalı bir döküman Teşekkür ederim.
İnsanın Kendisi Değil! Kaderi Güzel Olucak Be Abi ;)
Code: [Select]
Http://wWw.Ehadi.Net | Http://Forum.Ehadi.Net | Http://Arama.Ehadi.Net |
Paylaşmak için doğru adrestesin! http://wWw.Ehadi.Net

Offline Eren Yaşarkurt

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 7,134
  • Gender: Male
  • aka forsakenlad
    • erenyasarkurt on Facebook
    • erenyasarkurt on LinkedIn
    • @erenyasarkurt on Twitter
    • yekolay
Re: Özelleştirilmiş profil alanları yarIk
« Reply #10 on: December 21, 2005, 10:45:27 AM »
Tebrikler, eminim birçok kullanıcıya yardımcı olacaktır ;)
Eren "forsakenlad" Yaşarkurt
SMF Friend & Former Team Member

yemek siparişi - order your food quick and easy

Offline Sbri

  • Jr. Member
  • **
  • Posts: 160
  • Gender: Male
Re: Özelleştirilmiş profil alanları yarIk
« Reply #11 on: January 09, 2006, 09:33:36 AM »
Bütün bu özelleştirilmiş profillerin uye listesinde de görümtülenms iiçin ne yapmalıyız?

Offline ToKMaK

  • Full Member
  • ***
  • Posts: 437
Re: Özelleştirilmiş profil alanları yarIk
« Reply #12 on: January 09, 2006, 10:43:58 AM »
bunun birde üye olurken, seçenek eklemeyide yazılırsa eminim çok işe yarıcak mesala üye olurken sadece mail ve k.adı istiyor oraya şehir, doğum tarihi, vs... gibi istekleri eklemek...

Offline xlang

  • Jr. Member
  • **
  • Posts: 121
Re: Özelleştirilmiş profil alanları yarIk
« Reply #13 on: January 09, 2006, 02:54:46 PM »

Offline Clough

  • Semi-Newbie
  • *
  • Posts: 63
  • Brian Clough
Re: Özelleştirilmiş profil alanları yarIk
« Reply #14 on: January 09, 2006, 08:01:28 PM »
Güzel döküman hazırlayana ve çevirene teşekkürler.

Ayrıca nacizane fikrim bu profilde oluşturulan bölümler , kulllanıcı mesaj attığında avatarının altında yazsa güzel olurdu.

Offline Elmacik

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 8,276
  • Gender: Male
  • = Human Draft =
    • IT Store
Re: Özelleştirilmiş profil alanları yarIk
« Reply #15 on: January 09, 2006, 08:06:10 PM »
Dokümanı okumadın yani? :)
Bunu da yapmak mümkün ve içinde ona da değinilmiş ;)
Home of Elmacik

ASi ve MAVi

  • Guest
Re: Özelleştirilmiş profil alanları yarIk
« Reply #16 on: February 24, 2006, 10:07:13 AM »
ya ben 2 şey soracam:

1- kayıt esnasında doğum tarihi ve cinsiyet girmeyi zorunlu yapacaz

2- girilen bilgileri profillere yazdıracaz

bunu yapmak için çok uğraştım ama beceremedim

bi fikri olan var mı ?

Offline Elmacik

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 8,276
  • Gender: Male
  • = Human Draft =
    • IT Store
Re: Özelleştirilmiş profil alanları yarIk
« Reply #17 on: February 24, 2006, 04:56:55 PM »
Kayıt sırasında cinsiyet ve doğum tarihini zorunlu yapmak için bir iki gün önce bir konu tartıştık ortaya güzel bir sonuç çıktı.
Biraz bakıver bulursun eminim.
Seni aramızda yeniden görmek güzel :)
Home of Elmacik

ASi ve MAVi

  • Guest
Re: Özelleştirilmiş profil alanları yarIk
« Reply #18 on: February 24, 2006, 09:56:31 PM »
teşekkürler kardeş :)

bahsettiğin konuyu arattırdım ama bulamadım maselef :(

bu yeni sisteme bi türlü alışamadım ben :D

Offline badman

  • Jr. Member
  • **
  • Posts: 190
  • Gender: Male
  • Again Birth S-M-F
    • Sedohosting
Re: Özelleştirilmiş profil alanları yarIk
« Reply #19 on: March 04, 2006, 08:11:04 AM »
Eline saglık cok guzel bir dokuman birsey sorucaktım davetle uyelik oluyormu acaba mesela yeni biri uye olurken davet kodu istenecek felan
LİNUX HOSTİNG'DE OLAYYY!!
  • 10 gb web alanı
  • 50 gb trafik
  • Sınırsız ftp,veritabanı,email hesabı
  • cPanel Hosting Yönetim Paneli
  • Haftalık yedekleme
  • GD Desteği
  • ionCube Loader
  • ve birçok özelliker....
YILLIK SADECE 100 YTL KAMPANYA BİTMEDEN YETİŞİN!

İletişim&msn : satis@sedohosting.net