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

Son güncelleme: 07.05.2008 16:17
  • 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:

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

    <?php
    function CanliYayin ()
    {
    loadTemplate('Radyo');
    }
    ?>

    Sonra, /Themes/default/languages/Who.turkish.php dosyasını açalım, herhangi bir yerine şunu ekleyelim:

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

    $actionArray = array(

    Hemen altına şunu ekleyelim:

    'radyo' => array('Radyo.php[/swf2][swf3]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:

    <?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.
    (derleme elmacik)
#18.01.2008 14:01 0 0 0
  • Saol Bende Böyle Chat Kurdum
#07.05.2008 16:17 0 0 0