Web sayfamız sadece phpBB 3.0.x sürümlerine destek vermektedir. Konu açmadan, ileti yazmadan önce lütfen site kuralları sayfamıza göz atınız.

PhpBB Forum Entegreli Sayfa Oluşturma

Forum kuralları
Makale ve yazılardan sonra sadece makale hataları, güncellemeler ile ilgili iletiler yazabilirsiniz, lütfen makale konusuyla ilgili soru sormayınız yardım istemeyiniz.

İsteyen herkes makale ekleyebilir, eklenen makaleler yetkili tarafından incelenip onaylanırsa yayına alınacaktır. Eklediğiniz makalelerde telif haklarına uymak zorunludur.

Sitedeki tüm yazı ve makaleler Creative Commons Attribution-NonCommercial-NoDerivs 2.5 lisansı ile korunmaktadır. Alıntı şartları sayfasını mutlaka okuyunuz.

PhpBB Forum Entegreli Sayfa Oluşturma

İleti DonkanShinigami 09 Mar 2011 22:51

Kaynak Sayfası: http://www.phpbb.com/kb/article/add-a-n ... -to-phpbb/
Yazar: pentapenguin

Merhaba.

Bu başlık altında phpbb3 forumunuza nasıl sayfa hazırlanacağını anlatacağım. Aynen kendi forumunuza benzeyen (hatta üye kontrol vb. phpbb classlarını da içinde barındıran) bir sayfa hazırlayabilirsiniz. Bu sayfa basit bir yazı yada kendi yazdığınız php, ajax, js scriptleri barındırabilir. Hazırsanız başlayalım.

hakkimizda.php sayfası:

Mesela kim olduğumuz hakkında bir sayfa hazırlamak istiyoruz. Ana dizine hakkimizda.php dosyasını ekliyoruz. Dosyanın içine şu kodları giriyoruz:

Kod: Tümünü seç
    <?php
    define('IN_PHPBB', true);
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();

    page_header('Site Başlığı');

    $template->set_filenames(array(
        'body' => 'hakkimizda_body.html',
    ));

    make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
    page_footer();
    ?>



Şimdi bütün bunlar ne işe yarıyor bir bakalım:

Kod: Tümünü seç
$user->setup(); 


Bu satır üyelerle ilgili bilgilerin sayfaya çağırılmasını sağlıyor. Ayrıca dil dosyası çağırmaya da yarar. Şu anki haliyle herhangi bir dil dosyası çağırmıyor ancak aşağıdaki gibi değiştirirsek bir dil dosyası çağırmış olacağız:
Kod: Tümünü seç
$user->setup('dil-dosyasinin-adi');


Burada dikkat edilmesi gereken dil dosyasının ".php" uzantısı yazılmamalıdır.

Örnek olarak, dil klasörü içindeki viewtopic.php dil dosyasını sayfaya çağırmak istiyoruz;
Kod: Tümünü seç
$user->setup('viewtopic');

----------------------------------------------------

Kod: Tümünü seç
page_header('Site Başlığı');


Bu satır ise özetle geçersek sayfanın başlığını (html dilinde title) tanımlamanızı sağlar.
----------------------------------------------------

Kod: Tümünü seç
'body' => 'yourpage_body.html',


Bu satır ise tema dosyaları (/styles/[temaadı]/templates/) arasındaki tema dosyamızın adıdır.

BİRAZ DAHA DETAY:
Diyelim ki sayfayı sadece giriş yapmış kullanıcılar görebilsin.

Bu kodun altına:
Kod: Tümünü seç
$user->setup();


Bu kodu yazıyoruz:
Kod: Tümünü seç
if ($user->data['user_id'] == ANONYMOUS)
    {
        login_box('', $user->lang['LOGIN']);
    }


Şimdi burayı biraz açalım, php bilginiz varsa daha iyi olur aslında.
Kod: Tümünü seç
$user->data['user_id']

Bu kod bize üyenin ID'sini verir, ancak üye giriş yapmamışsa 1 değerini verir. ($user->data olaylarını daha sonra sessions makalesinde açılayacağım). IF sorgusundaki ANONYMOUS ise includes/constants.php içinde değeri 1 olarak define edilmiştir. Yani ANONYMOUS yerine 1 yazsak da olur ancak stabil olması açısından böyle kalması daha iyi. login_box ise phpbb3 fonksiyonlarından birisidir. Login sayfasına yönlendirir.

Tema Dosyası:
Kod: Tümünü seç
<!-- INCLUDE overall_header.html -->

<h2>Bir Adet Başlık</h2>

<div class="panel">
   <div class="inner"><span class="corners-top"><span></span></span>

   <div class="content">
      <p>
         Ve buraya da içeriğimizi yazabiliriz.
      </p>
   </div>

   <span class="corners-bottom"><span></span></span></div>
</div>

<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->


Bu da tema dosyamız, <!-- INCLUDE --> ile başka tema dosyalarını sayfaya dahil ediyoruz, tema motorunun kullanımı hakkındaki makalemde bunları detaylıca açıklayacağım. Şimdilik bu kadar. siteadresi.com/hakkimizda.php adresinden sayfanıza bakabilirsiniz. (Not: Tema dosyaları değişikliğinde önbelleği temizlemeyi unutmayınız.) Örnek olarak aşağıdaki kodları inceleyebilirsiniz:

hakkimizda.php dosyası:
Kod: Tümünü seç
    <?php
    define('IN_PHPBB', true);
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();

    page_header('Hakkımızda');

    $template->set_filenames(array(
        'body' => 'hakkimizda_body.html',
    ));

    make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
    page_footer();
    ?>


hakkimizda_body.html (tema dosyası):
Kod: Tümünü seç
<!-- INCLUDE overall_header.html -->

<h2>Hakkımızda</h2>

<div class="panel">
   <div class="inner"><span class="corners-top"><span></span></span>

   <div class="content">
      <p>
         İçeriği buraya yazabiliriz.
      </p>
   </div>

   <span class="corners-bottom"><span></span></span></div>
</div>

<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->
DonkanShinigami
kullanıcı
kullanıcı

İleti: 100
Kayıt: 19 Eyl 2010 23:58
İsim: Fırat Akandere
HTML: Çok iyi
CSS: İyi
PHP: İyi
phpBB3: Çok iyi
Sürüm: phpBB3 3.0.8

Geliştirme ve kod değişiklikleri


Kimler çevrimiçi

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

cron