Smf yeni sayfa oluşturma action

Başlatan tarantula901, 04 Şub 2017, 16:24

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

tarantula901

Smf yeni sayfa oluşturma

Başlamadan önce küçük bir not; kafalarımız çok karışmasın diye, kendi işlerimiz için ayrı dosyalar yaratacağız.


Ö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.
Sitenizde işlem yapmadan önce mutlaka yedek alın, yedek alın yedek almayı unutmayın her şeyden önce bu önemli

Pm'den ve Skype'den istenilen destekler ücretlidir. Ücret ödememek için lütfen sitede sorunuzu konu açarak sorabilirsiniz.

Ücretli Smf Destek İçin

Toretto


tarantula901

Sitenizde işlem yapmadan önce mutlaka yedek alın, yedek alın yedek almayı unutmayın her şeyden önce bu önemli

Pm'den ve Skype'den istenilen destekler ücretlidir. Ücret ödememek için lütfen sitede sorunuzu konu açarak sorabilirsiniz.

Ücretli Smf Destek İçin

Toretto


Toretto

tema işlemedi böyle görünüyor



tarantula901

Sen birinci yolu deneyin bende 1 yolu deneyerek kullandım 2. yolu bılmıyorum :D
Sitenizde işlem yapmadan önce mutlaka yedek alın, yedek alın yedek almayı unutmayın her şeyden önce bu önemli

Pm'den ve Skype'den istenilen destekler ücretlidir. Ücret ödememek için lütfen sitede sorunuzu konu açarak sorabilirsiniz.

Ücretli Smf Destek İçin

Toretto


tarantula901

Sitenizde işlem yapmadan önce mutlaka yedek alın, yedek alın yedek almayı unutmayın her şeyden önce bu önemli

Pm'den ve Skype'den istenilen destekler ücretlidir. Ücret ödememek için lütfen sitede sorunuzu konu açarak sorabilirsiniz.

Ücretli Smf Destek İçin

SaMania

1. yolda html kodları neysede css çağrılarını nasıl yapıcaz? js vsvs. Alta ekliyoruz olmuyor, üste ekliyoruz olmuyor.

tarantula901

Bu sayfa index.template.php dosyasına css linki ekleyerek kullanabilirsiniz. yada o sayfanın içine echo içine style kodu arasına alarakda kullanabilirsiniz.

işlem yapınca gizli sekmeden bakın tarayıcılar geçmişe aldıkları için hemen görüntüleyemiyor olabilirsiniz.
Sitenizde işlem yapmadan önce mutlaka yedek alın, yedek alın yedek almayı unutmayın her şeyden önce bu önemli

Pm'den ve Skype'den istenilen destekler ücretlidir. Ücret ödememek için lütfen sitede sorunuzu konu açarak sorabilirsiniz.

Ücretli Smf Destek İçin

SaMania

Hocam ayrıca sayfalarda bi Türkçe karakter + title problemi var. Title yerinde site adı, Türkçe karakter yazması gerekirken abuk subuk çeviriler geliyor, patlıyor Türkçe kelimeler yani.

tarantula901

utf8 yada ıso meta etıketi ekleyin kodun içine
Sitenizde işlem yapmadan önce mutlaka yedek alın, yedek alın yedek almayı unutmayın her şeyden önce bu önemli

Pm'den ve Skype'den istenilen destekler ücretlidir. Ücret ödememek için lütfen sitede sorunuzu konu açarak sorabilirsiniz.

Ücretli Smf Destek İçin

must006

1. yolu uyguluyorum şu anda. navigate_section'u silme şansımız var mı?(<style>.navigate_section{display:none}</style> dışında)

tarantula901

Sitenizde işlem yapmadan önce mutlaka yedek alın, yedek alın yedek almayı unutmayın her şeyden önce bu önemli

Pm'den ve Skype'den istenilen destekler ücretlidir. Ücret ödememek için lütfen sitede sorunuzu konu açarak sorabilirsiniz.

Ücretli Smf Destek İçin

must006

#14
<style> ile halettim istediğim şekilde o konuyu öyle çözdüm. Şimdi ise <title></title> kısmında ve navbar bölümünde sıkıntı yaşıyorum. Normal temada "Ana Sayfa" olan ifadeyi "Forum" olarak değiştirdim ve kendim manuel olarak yeni bir Subs.php'den ekleme yaparak "Ana Sayfa" ekledim. Ancak "Ana Sayfa"ya gittiğimde active olarak hala "Forum" işaretli kalıyor "Ana Sayfa"da olduğum halde.

title ile ilgili de; sayfa açık olduğu zaman sekme başlığı "localhost/index.php?action=home" olarak kaba gözüküyor. Nasıl çözebiliriz @tarantula901 hocam

Düzenleme 22:45 'home' yi başka bir şey yapınca navbar active olayını çözdüm ama title sorunum devam etmekte.