Advertisement:

Author Topic: SSI Rehberi  (Read 266064 times)

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
SSI Rehberi
« on: August 25, 2005, 06:51:20 PM »
SSI Rehberi
(Son Güncelleme: 26.12.2007)

Merhaba arkadaşlar sanırım bu yazı SMF için yazılmış ilk Türkçe rehber olacak. Bu rehberde SSI'nın ne olduğunu, ne işe yaradığını ve hepsinden önemlisi SSI'yı ihtiyaçlarınızı karşılayabilecek şekilde nasıl kullanabileceğinizi örnekli bir anlatımla öğrenebileceksiniz. Eğer rehberde bir hata fark eder, anlamadığınız bir yer olur veya herhangi başka bir sorun veya sorununuz olursa bu konuya cevap yazmaktan çekinmeyin.

Bölüm 1: Bilgi



SSI Nedir?

SSI'ın açılımı Server Side Includes'dur. Gerçek SSI'ın kendine ait bir programlama dili vardır ve sunucuda çalıştırılan kullanıcı tarafından kendi sayfalarına çağırılabilen dinamik bilgilere denir. Bizim kullancağımız SSI ise başka bir PHP dosyasında tanımlı fonksiyonlar bütünüdür. Bu fonksiyonları forum'dan değişik bilgileri istediğimiz herhangi bir forum-dışı sayfaya çağırmak için kullanacağız.

Ne İşe Yarar?

SSI'yı kullanarak istediğimiz herhangi bir sayfaya SMF kullanıcı girişi, Forum'dan Son konular/mesajlar, Forum'da en çok mesaj atan kişiler, Forum'da Kimler Online ve daha birçok değişik bilgiyi görüntüleyebileceğiz.

Ne Gerekir?

SSI'yı kullanmak üzere ekstra hiçbir şey'e ihtiyaç yoktur, SMF'nin çalıştığı her ortamda SSI'da çalışabilir.

Kullanırken Çok Zorlanacak mıyım?

Kesinlikle hayır burada uygulayacağımız örnekli anlatım sayesinde copy&paste yapmayı bilen, basit HTML bilgisine sahip herkes SSI kullanrak kolayca sitelerine profosyonel bir görünüm kazandırabilirler.



Bölüm 2: Kullanım



SSI kullanmak için öncelikle ihtiyacımız olan şey, SSI'yı kullanacağımız sayfanın uzantısının PHP olması. Eğer böyle değilse, lütfen ilk olarak uzantıyı PHP yapın. İkinci olaraksa SSI.php'nin sayfada önceden tanımlanması. Bunun için ilk olarak http://forumunuzunadresi/ssi_examples.php (forumunuzunadresi örnektir burayı forum'unuzun yüklü olduğu tam konum ile değiştirin) adresine gidin ve aşağıda kırmızı ile işaretlenmiş satırı kopyalayın:



Ve SSI verilerinin gözükmesini istediğiniz sayfanın 1'nci satırına, <html> tag'inden önce gelecek şekilde yapıştırın, örn:

Code: [Select]
<?php require("/home/forsaken/public_html/forum/SSI.php"); ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>Örnek Sayfa</title>
</head>
<body>
İçerik
</body>
</html>

Tamam artık bu sayfada gözükmesini istediğimiz herhangi bir yerde SSI verilerini gösterebiliriz, bir deneme yapalım mesela, <body></body> tag'lerinin arasına SSI verisinin gözükmesini istediğiniz yere saşğıdaki kodu girin:

Code: [Select]
<?php ssi_topPoster(); ?>
Bu kod forum'unuzda en çok mesaj atmış kişiyi gösterecektir. Bir dahaki bölümde örnekli anlatımlarıyla tek tek her SSI fonksiyonun ne işe yaradığını ve kullanımını öğreneceksiniz



Bölüm 3: Örnekler



Son Konular - ssi_recentTopics(); ve Son Mesajlar - ssi_recentPosts();

(Son Konular için geçerli kodların hepsi Son Mesajlar içinde geçerlidir, yapmanız gereken sadece ssi_recentTopics()'i, ssi_recentPosts(); ile değiştirmektir)

İsmindende anlaşılacağı gibi bu fonksiyon forumunuzdaki son konuları, bulundukları kategori, yazarları ve açılış zamanları ile birlikte, sayfanızın istediğiniz bir yerinde gösterir. Bu SSI fonksiyonunu direk ssi_recentTopics(); olarak girdiğinizde karşınıza ssi_examples.php'dede görebileceğiniz varsayılan özellikleriyle çıkar. Haydi bu fonksiyonu biraz özelleştirelim:

Code: [Select]
<?php
     ssi_recentTopics
($num_recent 8$exclude_boards null$output_method 'echo');
?>

Bu girdi yine default özellikleriyle gösterecektir, burada $num_recent'i değiştirirerek gösterilmesini istediğiniz son konu sayısını ayarlayabilir $exclude_boards = null'ı $exclude_boards = array() yaparak, parantezler içine yazacağınız Board Id'lerle o bölümlerden son konuların gösterilmesini engelleyebilirsiniz, örneğin benim forum'umda 1 duyurular ve 4 test bölümü (bunlardan gelen son konuları göstermek istemiyorum), ve ayrıca son 5 mesajı göstermek istiyorum, bunun için yazmam gereken kod:

Code: [Select]
<?php
     ssi_recentTopics
($num_recent 5$exclude_boards = array(1,4), $output_method 'echo');
?>

Bu kadar basit, artık şık bir son konular bölümüne sahibim :)

Anket - ssi_showPoll();

ssi_showPoll(); fonksiyonu forum'dan seçeceğimiz bir anketi php tabanlı herhangi bir sayfada görüntülememize olanak sağlamaktadır. Kullanımı aşağıdaki şekildedir:

Code: [Select]
<?php
     ssi_showPoll
($topic null$output_method 'echo')
?>

Burada null adlı yere göstermek istediğimiz anketin konu id'sini girdiğimizde, istenilen anket devamlı olarak görüntülenecektir. Konu id'si, bulunduğunuz konunun URL'sine bakılarak öğrenilebilir, örneğin bu konunun id'si:

http://www.simplemachines.org/community/index.php?topic=47018.0

47018 dir. Eğer bu konu ile bir anket ilişkilendirilmiş olsaydı, bu anketi görüntülemek için kullanmamız gereken kod aşağıdaki gibi olurdu:

Code: [Select]
<?php
     ssi_showPoll
($topic 47018$output_method 'echo')
?>

Son Anket - ssi_recentPoll(); ve En Popüler Anket - ssi_topPoll();

Bu fonksiyonlarımızın ortak özelliği forumdan herhangi bir PHP sayfaya anket çağırabilmemize olanak sağlamalarıdır. ssi_recentPoll(); adlı fonksiyon, forum'a gönderilmiş en son anketi görüntülerken; ssi_topPoll(); fonksiyonu şimdiye kadar tüm kullanıcılar tarafından en çok oy atılmış anketi görüntülememize olanak sağlamaktadır.

Son Anket - ssi_recentPoll(); un örnek kullanımı:

Code: [Select]
<?php ssi_recentPoll(); ?>
En Popüler Anket - ssi_topPoll(); un örnek kullanımı:

Code: [Select]
<?php ssi_topPoll(); ?>




Devam Edecek...
« Last Edit: December 25, 2007, 07:17:17 PM by *eren »
Eren "forsakenlad" Yaşarkurt
SMF Friend & Former Team Member

yemek siparişi - order your food quick and easy

Offline T@LH@

  • Sr. Member
  • ****
  • Posts: 859
  • Risale-i Nur Forum
    • Nur Forum Nura Açılan Kapı
Re: SSI Rehberi
« Reply #1 on: July 18, 2006, 04:14:11 PM »
Evet devam edilirse cok hos olur ben diğer forumumda joomla köprü kullanıyorum lakin joomla köprünün acığı var ve pek sağlıklı değil eğer devam edilirse bu sekilde köprüsüz bir portal kurmayı düşünüyorum...

Offline SaliheziN

  • Newbie
  • *
  • Posts: 1
Re: SSI Rehberi
« Reply #2 on: August 03, 2006, 05:21:57 AM »
ben şimdi basit bir ana sayfa kurmak istiyorum.. ve ssi ile verileri o sayfaya çağırmak istiyorum...

şimdi anlamadığım, ssi.php diye bir syfa aslında smf de varmı yoksa biz mi yaratacağız.

ben index.php diye bir anasyafa yapıp onun başına mı bu
Code: [Select]
<?php require("/home/forsaken/public_html/forum/SSI.php"); ?> codu ekleyeceğim...

bunu benim için biraz daha açıklarsanız sevinirim..

gerçi açık anlatılmış gibi duruyor ama ben pek anlamadım  :(

Offline Dead

  • Newbie
  • *
  • Posts: 4
Re: SSI Rehberi
« Reply #3 on: August 04, 2006, 04:13:00 PM »
Hangi sayfada gözükmesini istiyorsan orada kullanacaksın..  ;)


Offline İMoTeP_1

  • Jr. Member
  • **
  • Posts: 220
  • Gender: Male
Re: SSI Rehberi
« Reply #5 on: August 10, 2006, 07:51:16 AM »
hehe bende yapıodum nie olmuo bu diodum yaf
<?php require("/home/forsaken/public_html/forum/SSI.php"); ?> bu nu Iyı unutmuşum :D


Offline Alhan

  • Jr. Member
  • **
  • Posts: 381
Re: SSI Rehberi
« Reply #7 on: September 14, 2006, 02:41:37 PM »
anlatım için teşekkürler. fakat ben ssi kodunu joomla template imde nereye eklediysem olmadı.
Acaba ssi inin ilgili dizinini temamda nereye eklemem gerekiyor söylermisiniz?

Tema indexim aşağıdaki gibi başlayıp devam ediyor...

Code: [Select]
<?php
defined
'_VALID_MOS' ) or die( 'Restricted access' );
$iso explode'='_ISO );
echo 
'<?xml version="1.0" encoding="'$iso[1] .'"?' .'>';

##### Begin Template Configurations #####
# change the width of the template
$width "1"// 1: 17"; 0: 15"
# enable users option - ONLY ENABLE IF $WIDTH IS SET TO 1
$tool "1"// 1: Enable; 0: Disable
##### End Template Configurations #####

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<?php mosShowHead(); ?>
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO?>" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="<?php echo $mosConfig_live_site;?>/templates/ja_hadar/css/template_css.css" rel="stylesheet" type="text/css"/>
<?php if (!$width) { ?>
<link href="<?php echo $mosConfig_live_site;?>/templates/ja_hadar/css/wide_layout.css" rel="stylesheet" type="text/css"/>
<?php 
if (
$tool) { ?>

<link href="<?php echo $mosConfig_live_site;?>/templates/ja_hadar/css/wide_layout.css" rel="alternate stylesheet" type="text/css" title="wide"/>
<?php 
if ( 
$my->id ) { initEditor(); } 
?>

<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/ja_hadar/ja_script.js"></script>
<script language="javascript" type="text/javascript">
preloadimages("<?php echo $mosConfig_live_site;?>/templates/ja_hadar/images/arrow-on.gif","<?php echo $mosConfig_live_site;?>/templates/ja_hadar/images/arrow-off.gif");
</script>
</head>
<body id="bd" onload="preloadimages()">


Offline shalamar

  • Semi-Newbie
  • *
  • Posts: 59
    • Mavi Yolculuk Tutkunları
Re: SSI Rehberi
« Reply #8 on: September 16, 2006, 06:03:29 PM »
Code: [Select]
<?php
defined
'_VALID_MOS' ) or die( 'Restricted access' );
$iso explode'='_ISO );
echo 
'<?xml version="1.0" encoding="'$iso[1] .'"?' .'>';
BURAYA <--

BURAYA yazdığım yere,
www.siteadresiniz.com/forumklasörünüz/ssi_examples.php adresinize girdiğinizde 4-5. satır civarında göreceğiniz
<?php require("/klasör/klasör/klasör/yineklasör/forumklasörü/SSI.php"); ?>
benzeri satırdaki, sadece renklendirdiğim tırnak içindeki yeri yazınız.

Bu durumda olması gerekiyor.

Sevgiler

anlatım için teşekkürler. fakat ben ssi kodunu joomla template imde nereye eklediysem olmadı.
Acaba ssi inin ilgili dizinini temamda nereye eklemem gerekiyor söylermisiniz?

Tema indexim aşağıdaki gibi başlayıp devam ediyor...

Code: [Select]
<?php
defined
'_VALID_MOS' ) or die( 'Restricted access' );
$iso explode'='_ISO );
echo 
'<?xml version="1.0" encoding="'$iso[1] .'"?' .'>';

##### Begin Template Configurations #####
# change the width of the template
$width "1"// 1: 17"; 0: 15"
# enable users option - ONLY ENABLE IF $WIDTH IS SET TO 1
$tool "1"// 1: Enable; 0: Disable
##### End Template Configurations #####

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<?php mosShowHead(); ?>
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO?>" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="<?php echo $mosConfig_live_site;?>/templates/ja_hadar/css/template_css.css" rel="stylesheet" type="text/css"/>
<?php if (!$width) { ?>
<link href="<?php echo $mosConfig_live_site;?>/templates/ja_hadar/css/wide_layout.css" rel="stylesheet" type="text/css"/>
<?php 
if (
$tool) { ?>

<link href="<?php echo $mosConfig_live_site;?>/templates/ja_hadar/css/wide_layout.css" rel="alternate stylesheet" type="text/css" title="wide"/>
<?php 
if ( 
$my->id ) { initEditor(); } 
?>

<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/ja_hadar/ja_script.js"></script>
<script language="javascript" type="text/javascript">
preloadimages("<?php echo $mosConfig_live_site;?>/templates/ja_hadar/images/arrow-on.gif","<?php echo $mosConfig_live_site;?>/templates/ja_hadar/images/arrow-off.gif");
</script>
</head>
<body id="bd" onload="preloadimages()">



Offline shalamar

  • Semi-Newbie
  • *
  • Posts: 59
    • Mavi Yolculuk Tutkunları
Re: SSI Rehberi
« Reply #9 on: September 16, 2006, 06:05:50 PM »
Quote
$exclude_boards = null'ı $exclude_boards = array() yaparak, parantezler içine yazacağınız Board Id'lerle o bölümlerden son konuların gösterilmesini engelleyebilirsiniz, örneğin benim forum'umda 1 duyurular ve 4 test bölümü (bunlardan gelen son konuları göstermek istemiyorum), ve ayrıca son 5 mesajı göstermek istiyorum

Peki sadece 1 ve 4 ID numaralı boardlardaki konuları göstermek istersek, bunların dışındaki tüm IDleri mi yazmamız lazım (tabi ileride yeni board eklendiğinde unutmayıp buraya da ID sini eklemek gerekecek) ya da başka kolay bir yol var mıdır?

Sevgiler...
« Last Edit: September 16, 2006, 06:10:08 PM by shalamar »

Offline badman

  • Jr. Member
  • **
  • Posts: 190
  • Gender: Male
  • Again Birth S-M-F
    • Sedohosting
Re: SSI Rehberi
« Reply #10 on: September 26, 2006, 09:49:13 AM »
Biz uzaktan calıstıramazmıyız ? yani bizimkisi baska host smf nin baska host bu şekilde kodlar calısmazmı ?
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

Offline badman

  • Jr. Member
  • **
  • Posts: 190
  • Gender: Male
  • Again Birth S-M-F
    • Sedohosting
Re: SSI Rehberi
« Reply #11 on: October 03, 2006, 09:24:15 AM »
neredeyse bir haftadan fazla oldu hala cevap yok
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


Offline GladYatoR

  • Semi-Newbie
  • *
  • Posts: 25
  • Gender: Male
    • Mavi™
Re: SSI Rehberi
« Reply #13 on: October 07, 2006, 04:36:29 PM »
Gerçektende benim için çok güzel bir kaynak oldu buradaki anlatımla çok güzel bir board yapmak bile mümkün teşekkür ediyorum elinize sağlık

Offline fedai

  • Semi-Newbie
  • *
  • Posts: 26
Re: SSI Rehberi
« Reply #14 on: October 09, 2006, 02:49:18 PM »
Teşekkürler devamını sasabırsızlıkla bekliyorum

Offline man_blood

  • Jr. Member
  • **
  • Posts: 115
    • Eğitim Sitesi
Re: SSI Rehberi
« Reply #15 on: October 27, 2006, 09:28:43 AM »
SSI.php dosyasının nerede oldugunu tam olarak nerden ögreniriz ?
birde
 <?php
ssi_recentTopics($num_recent = 5, $exclude_boards = array(1,4), $output_method = 'echo');
?>
bu komutudamı index.php ye koyucaz
joomlanın

Offline Huzeyfe

  • Full Member
  • ***
  • Posts: 438
  • Gender: Male
  • Hatasız Kul Olmaz
    • CMSTURK.NET
Re: SSI Rehberi
« Reply #16 on: October 27, 2006, 06:58:59 PM »
Teşekkürler çok iyi
Bazı zamanlar vardır dostluğun, sevginin göstergesidir. Yürek yüreğe değer. Sadık dost EBUBEKİR mağarada yılan deliğine ayağını kapattığında, miracı duyunca " EĞER O SÖYLÜYORSA DOĞRUDUR" dediğinde yüreği Allah dostunun yüreğine dokunmuştur.

Offline kahramanats

  • Newbie
  • *
  • Posts: 8
Re: SSI Rehberi
« Reply #17 on: November 06, 2006, 03:20:49 PM »
KoLay gELsin BiLgiLendirmeniz için teşekkür ederim bu özellikle alakalı acıkLama yaptığınız için.Benim merak ettiğim Mu özeLLikLeri kötü amacLı kuLlandıkLarında bana zarar verme şansları varmı.BunLarı Kullanılarak asLında çok hoş işLemLer oLuyo ama biLiyorsunuzki bu farkedenLer kötü amacLı kuLLanmak için hemen işLemLerine başLıyorlar.biLgi veririseniz Sevinirim TeşekkürLer...

Offline Gr@fiker

  • SMF Hero
  • ******
  • Posts: 2,176
Re: SSI Rehberi
« Reply #18 on: November 06, 2006, 04:01:37 PM »
hayır bundan hiçbir zarar veremezler çünkü sadece smf nin kodlarını kullanıyorsun başka bişe yok bunda
İ dont have a msn

Offline kahramanats

  • Newbie
  • *
  • Posts: 8
Re: SSI Rehberi
« Reply #19 on: November 06, 2006, 04:18:33 PM »
TeşekkürLer