Hoşgeldiniz, Ziyaretçi.Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz
Ana Sayfa Forum Arama Giriş Kayıt Ol
Simple Machines Forum Türkçe Yardım Sitesi > Simple Machines Forum > Dökümanlar > Konu: SSI rehberi
Sayfa: [1] 2   Aşağı git
« önceki sonraki »
Bu Konuyu GönderYazdır
Gönderen Konu: SSI rehberi  (Okunma Sayısı 5128 defa)
xccdark
H-Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 65



Site
SSI rehberi
« : Ocak 25, 2007, 09:43:45 ÖÖ »


SSI Rehberi
(Son Güncelleme: 26.08.2005)

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:

Kod:
<?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:

Kod:
<?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:

Kod:
<?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:

Kod:
<?php
ssi_recentTopics
($num_recent = 5, $exclude_boards = array(1,4), $output_method = 'echo');
?>
Kayıtlı

www.turk-kampus.com & www.powerdosya.com  Eğitim üzerine paylaş paylaşabildiğini!


burak__29
H-Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 38


Ynt: SSI rehberi
« Yanıtla #1 : Mart 26, 2007, 09:14:59 ÖS »

Konu açılalı epey olmuş ama bir yourm yok. acaba ne kadar güvenilir?
Kayıtlı
xccdark
H-Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 65



Site
Ynt: SSI rehberi
« Yanıtla #2 : Nisan 06, 2007, 09:29:14 ÖÖ »

bu konunun alıntı olduğunu belirtmeyi unuttum resmi siteden alıntıdır!
Kayıtlı

www.turk-kampus.com & www.powerdosya.com  Eğitim üzerine paylaş paylaşabildiğini!


aypare70
H-Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 11


Ynt: SSI rehberi
« Yanıtla #3 : Mayıs 07, 2007, 10:36:26 ÖÖ »

ssi_examples.php  bu nu atıyorum forumun ana dizininie,ssı de php uzantısı şeklinde zaten,adresi http://forumunuzunadresi/ssi_examples.php şeklinde açtığım zaman sayfa boş görünüyor,anlayamadım
Kayıtlı
-Ayşegül-
Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 337

I love (x)


Ynt: SSI rehberi
« Yanıtla #4 : Mayıs 20, 2007, 01:52:41 ÖÖ »

yeniden yükle istersen. Birde SSI.php dosyası ile aynı dizinde olmalıdır.
Kayıtlı
oslo_-boy
H-Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 6


Ynt: SSI rehberi
« Yanıtla #5 : Mayıs 22, 2007, 10:42:16 ÖS »

Saol paylaşımın için dostum eline sağlık.
Kayıtlı
bysmf
H-Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 63


Ynt: SSI rehberi
« Yanıtla #6 : Mayıs 24, 2007, 05:00:02 ÖÖ »

Alıntı sahibi: aypare70 üzerinde Mayıs 07, 2007, 10:36:26 ÖÖ
ssi_examples.php  bu nu atıyorum forumun ana dizininie,ssı de php uzantısı şeklinde zaten,adresi http://forumunuzunadresi/ssi_examples.php şeklinde açtığım zaman sayfa boş görünüyor,anlayamadım

bendede ayni sorun var
Alıntı sahibi: -Ayşegül- üzerinde Mayıs 20, 2007, 01:52:41 ÖÖ
yeniden yükle istersen. Birde SSI.php dosyası ile aynı dizinde olmalıdır.

aynisini yaptim yine olmadi

Kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<?php require("/home/XXXXXXX/public_html/forum/SSI.php"); ?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>

<body>
<?php
ssi_recentTopics
($num_recent = 8, $exclude_boards = null, $output_method = 'echo');
?>

<?php ssi_topPoster(); ?>
<div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:1; left: 350px; top: 32px;">
  <p><img src="http://us.i1.yimg.com/us.yimg.com/i/ww/beta/y3.gif" width="200" height="100"></p>
  <p>BU BIR TESTTIR </p>
</div>
</body>
</html>

bunlarda test 'c'n yapt'g'm sonuc 0 elde 0 nerde hata yapt'm acaba tsk...
Kayıtlı
-Ayşegül-
Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 337

I love (x)


Ynt: SSI rehberi
« Yanıtla #7 : Mayıs 25, 2007, 05:41:20 ÖÖ »

Olmadı dediğiniz zaman örnek hatalı sayfanızıda eklerseniz daha iyi olur benim için.

<?php require("/home/XXXXXXX/public_html/forum/SSI.php"); ?>

Bu kodu alttaki ile değiştir bakalım.

<?php require("SSI.php"); ?>
Kayıtlı
bysmf
H-Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 63


Ynt: SSI rehberi
« Yanıtla #8 : Haziran 04, 2007, 01:58:56 ÖÖ »

hocam oleyse ben ana sayfami bitireyim size yollayayim hem bosuna kafanizda yormamis olurum hemde daha iyi olur ben sadece sayfamin soluna uye ol son konular mesajlar ve uyeleri atacam Smiley tesekkurler

---edit----
cozuldu tesekkurler
Posted on: Haziran 04, 2007, 12:57:23 pm
]@Sessizlik Senfonisi ve onun istediğini isteyen diğer arkadaşlar, DEV lerden biri istediğinizi bir fonksiyon olarak yazmış.
http://www.simplemachines.org/community/index.php?topic=95459.msg623146#msg623146
kod bu :

Kod:
function ssi_recentTopicsFromBoards($from_boards, $num_recent = 8, $output_method = 'echo')
{
global $context, $db_prefix, $user_info;
if ( !isset($context['boards_available']) )
{
// Get a list of the boards they can see
$context['boards_available'] = array();
$request = db_query("
SELECT ID_BOARD
FROM {$db_prefix}boards
WHERE $user_info[query_see_board]", __FILE__, __LINE__);
while ( $row = mysql_fetch_assoc($request) )
$context['boards_available'][] = (int) $row['ID_BOARD'];
mysql_free_result($request);
}

if ( !is_array($from_boards) )
$from_boards = array ( $from_boards );

// Make a copy of the board list so we can remove the ones we do want to see
$dontshow = $context['boards_available'];
foreach($dontshow AS $index => $id)
if ( in_array($id, $from_boards) )
unset($dontshow[$index]);
return ssi_recentTopics($num_recent, $dontshow, $output_method);
}

Burada verilen kodu SSI.php dosyasına ekledikten sonra ( Edit:...Bu Kodu ssi.php nin Neresine ekleyegiz acaba) fonksiyonu şu şekilde kullanabilirsiniz:
ssi_recentTopicsFromBoards('1', '3', 'echo');

Burada yazdığım 1, güncel konuların gösterileceği bölümün numarası. 3 ise kaç tane konu gösterileceği. Echo kısmını değiştirmeyin eğer ne yaptığınızı bilmiyorsanız.
Eğer birden fazla bölümden mesaj göstermek isterseniz o zaman şöyle kullanın:
ssi_recentTopicsFromBoards(array('8', '12', '26'), '5', 'echo');
Kayıtlı
-Ayşegül-
Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 337

I love (x)


Ynt: SSI rehberi
« Yanıtla #9 : Haziran 07, 2007, 06:35:02 ÖÖ »

kodu istediğin yere ekle. en alta olabilir.
Kayıtlı
kalpazan41
H-Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 47


Ynt: SSI rehberi
« Yanıtla #10 : Haziran 07, 2007, 08:12:35 ÖÖ »

bslm arkdaşlar..ben TP kullanıyorum ve phpbox kullanrak bu ssi ile birşeyler yapmak istiyorum..yani son üyeleri doğum günü olanları vs vs göstermek istiyorum fakat örnek olarak <?php ssi_boardStats(); ?> bunu eklediğimde hiç bir sonuç alamıyorum..kod olduğu gibi portalda görünüyor...nasıl halledebilriz bunu..söylediğim şeyi nasıl yapabilriz..
Kayıtlı
-Ayşegül-
Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 337

I love (x)


Ynt: SSI rehberi
« Yanıtla #11 : Haziran 11, 2007, 12:38:29 ÖS »

php içinde <?php ssi_boardStats(); ?> diye eklerseniz kod olur zaten. sadece ssi_boardStats(); olarak ekleyin ve ssi yolunu gösterin.
Kayıtlı
medyan
H-Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 32


Ynt: SSI rehberi
« Yanıtla #12 : Haziran 12, 2007, 02:14:55 ÖÖ »

sağol kardeş eline sağlık..
Kayıtlı
xccdark
H-Full Member
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 65



Site
Ynt: SSI rehberi
« Yanıtla #13 : Haziran 15, 2007, 01:38:46 ÖS »

benim değilde hazırlayann eline sağlık! Smiley
Kayıtlı

www.turk-kampus.com & www.powerdosya.com  Eğitim üzerine paylaş paylaşabildiğini!


Erkn
Newbie
*
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 1


Ynt: SSI rehberi
« Yanıtla #14 : Kasım 16, 2008, 02:46:50 ÖÖ »

Bilgi için teşekkürler fakat ufak bir sorum olacaktı :

 SSI'den http://www.site.com/forum/index.php?board=1.0 şeklinde forumda açtığımız bir ko nu olduğunu düşünürsek bu konunun içindeki mesajları bir sayfada göstermek için ne yapmamız gerekiyor?
Kayıtlı
Sayfa: [1] 2   Yukarı git
Bu Konuyu GönderYazdır
Simple Machines Forum Türkçe Yardım Sitesi > Simple Machines Forum > Dökümanlar > Konu: SSI rehberi
« önceki sonraki »
 
Gitmek istediğiniz yer:  


Powered by SMF 1.1.16 | SMF © 2006-2011, Simple Machines | NewDef design by Bloc
Gulhin Internet Hizmetleri
Bu Sayfa 0.155 Saniyede 17 Sorgu ile Oluşturuldu
Yükleniyor...