Kendi sayfamızı nasıl oluştururuz? /index.php?action=sayfa gibi

tertunc

Dekan
Emektar
Katılım
18 Ağustos 2007
Mesajlar
7,204
Reaksiyon puanı
21
Puanları
218
Başlamadan önce küçük bir not; kafalarımız çok karışmasın diye, kendi işlerimiz için ayrı dosyalar yaratacağız.

Birinci yol:
Öncelikle, kullanmak istediğimiz sayfayı temamıza gömmemiz lazım.
Yani, kullanmak istediğimiz sayfa için bir tema dosyası lazım. Atıyorum, bizim sayfamız Radyo sayfası olsun.
O zaman, /Themes/default/ klasöründe, Radyo.template.php isimli bir dosya oluşturalım.
Sonra içine şunları koyalım:
Kod:
<?php

function template_main()

{

echo '

Radyomuzun kodlarini buraya koyuyoruz.

';

/* Yukariya koydugumuz kodlarin içinde tek tirnak isareti ( ' ) varsa, önlerine mutlaka ters bölü ( \ ) koyuyoruz.
Yoksa PHP hatasi aliyoruz - Template Parse Error. */
}

?>

Sonra, /Sources klasöründe Radyo.php diye bir dosya oluşturalım, içine de şunları koyalım:
Kod:
<?php
function CanliYayin ()
{
 	loadTemplate('Radyo');
}
?>

Sonra, /Themes/default/languages/Who.turkish.php dosyasını açalım, herhangi bir yerine şunu ekleyelim:
Kod:
$txt['whoall_radyo'] = '<a href="' . $scripturl . '?action=radyo">Radyo</a> dinliyor.';

Sonra, index.php dosyasını açalım (İlk klasördeki) Bunu bulalım:
Kod:
	$actionArray = array(
Hemen altına şunu ekleyelim:
Kod:
		'radyo' => array('Radyo.php', 'CanliYayin'),

Şimdi, radyo sayfasına şu şekilde ulaşabiliriz artık:
www.site.com/forum/index.php?action=radyo
Bu arada radyo sayfasındaki bir kişi, "Kimler Online" listesinde, "Radyo dinliyor" şeklinde görünecektir. ;)

İkinci yol:
action=radyo yerine radyo.php diye ayrı bir dosya mı oluşturmak istiyordunuz? O da olur.
O zaman radyo.php isimli bir dosya oluşturuyoruz. İçine sadece bir kaç satır kod ekleyeceğiz.
Onlar da şunlardır:
Kod:
<?php

$ssi_layers = array('main');
$ssi_theme = 'TEMA_NO'; // Buraya, radyo sayfasi görüntülenirken kullanilmasini istediginiz temanin sizin sitenizde kurulum sira numarasini yazacaksiniz. Örnegin varsayilan tema için 1 girebilirsiniz.

include("/foruma/giden/tam/dosya/yolu/SSI.php"); // Buraya da forumun dosya yolunu yazin. Yönetim panelindeki Temalar ve Görünüm bilgilerinden forumun dosya yolunu ögrenebilirsiniz.

echo '

Radyomuzun kodlarini buraya koyuyoruz.

';

/* Yukariya koydugumuz kodlarin içinde tek tirnak isareti ( ' ) varsa, önlerine mutlaka ters bölü ( \ ) koyuyoruz.
Yoksa PHP hatasi aliyoruz - Template Parse Error. */

ssi_shutdown();

?>

Şimdi artık radyo sayfasına şu şekilde ulaşabiliriz:
www.site.com/forum/radyo.php
Hatta forum ile aynı klasörde olmak zorunda değil bu dosya ;) Mesela;
www.site.com/radyo.php de olabilir.

Yalnız artık kimler online listesinde görünmez radyo dinleyen kişiler.


Not: Yeni dosyalar yaratmadan da, mevcut dosyaları kullanarak bu işi yapabilirdik, ama anlaşılabilir olması için bu yolu seçtim.
Başka bir not: Bu şekilde başka action da oluşturabilirsiniz. Dikkat etmeniz gereken, aynı dosyaları kullanırsanız, ayrı fonksiyon isimleri atamanızdır.
Mesela örneğimizdeki Radyo.php kaynak dosyasını yeniden ikinci bir action için kullanmak isterseniz (ör: action=radyo2, fonksiyon ismi olarak CanliYayin kullanamazsınız. Yoksa PHP hatası alırsınız.


http://www.simplemachines.org/community/index.php?topic=95976.0#quickreply
 
Üst