Smf yeni sayfa oluşturma action

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

« önceki - sonraki »

0 Üyeler ve 3 Ziyaretçiler 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.

tarantula901

title içinde ben de düşündüm aklıma birşey gelmemişti :D fazla bilgim yok ondan heralde.
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

Alıntı yapılan: tarantula901 - 20 Ekm 2017, 23:38title içinde ben de düşündüm aklıma birşey gelmemişti :D fazla bilgim yok ondan heralde.
Pekala araştırmam sonucu ulaştığım sonuç ile kullandığım kod:
<?php
function 
CanliYayin ()
{
global $context;
$context['page_title'] = 'Title buraya!';
loadTemplate('Radyo');
}
?>

tarantula901

teşekkürler lazım olan arkadaşlar yardımcı olacaktır kullanımı ıle ılgılı detaylı anlatabılırsen anlamayanlar ıcınde faydalı olabilir.
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

Atakan993

Tüm işlemleri yapıyorum ancak

Bu sayfa çalışmıyor şu anda bu isteği işleme alamıyor.
HTTP ERROR 500

hatası alıyorum, yardımcı olabilir misiniz?

@tarantula901

tarantula901

Sorun yaşafığın kısomdan resim eklermisin.
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

Atakan993

O hatayı çözdüm benden kaynaklı bir şeymiş.

Birinci yolda sadece link yolunu radyo değilde başka bir şey yapmak için neyi değiştirmem gerek?

ikinci yolda oluşturduğum phpyi hangi dosya dizinine atacağım ve ikinci yolu yapmak için birinci yoldaki adımları yapmama gerek var mı

Atakan993

Ayrıca action=radyo yazınca index.php'ye yönlendiriliyorum

tarantula901

radyo yazan kısımları değiştirin
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

Atakan993

İ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.

bu oluşturulan radyo.php'yi hangi dizine atacağız

tarantula901

Konudakileri uygulatinca calismasi lazim siz bir yerde hata yapmis olmayasiniz.
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

Atakan993

çalışıyor ama ikinci yolu anlamadım uzantının direkt /radyo.php olmasını istiyorum konuda verilen radyo.php'yi smfnin hangi dizinine atmalıyım?

tarantula901

Alıntı yapılan: Atakan993 - 11 Haz 2019, 12:25çalışıyor ama ikinci yolu anlamadım uzantının direkt /radyo.php olmasını istiyorum konuda verilen radyo.php'yi smfnin hangi dizinine atmalıyım?

O şekilde olmasını istiyorsanız.

RewriteRule ^/index.php?action=radyo$ ./radyo/
şeklindeki kodu .htacces dosyası içine atarak kullanabilirsiniz.
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

Atakan993


tarantula901

Herhangi bir dosya yoksa ftpde bir tane dosya oluşturun adı şu şekilde olsun içinede üste eklediğin kodu ekle

.htaccess
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

Atakan993

İkinci yolu tam olarak anlamadım, fersah.php diye bir dosya oluşturdum ve içerisine aşağıda ki kodları yazdım.
Bu dosyayı hangi dizine atmam gerekiyor ve örnek bir dosya yolu atar mısınız

<?php

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

include("/home/vol6_6/fersahda/admin/htdocs//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();

?>

tarantula901

Konuda anlatımı mevcut zaten eksik bir anlatım mı mevcut iyi okuyun.
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

Atakan993

evette pek anlamadım action kısmını sorunsuz yapabiliyorum fakat ben www.siteadi.com/forum/dizinadi.php şeklinde olmasını istiyorum ve ikinci adımı pek anlamadım

include("/home/vol6_6/fersahda/admin/htdocs//SSI.php"); // Buraya da forumun dosya yolunu yazin. Yönetim panelindeki Temalar ve Görünüm bilgilerinden forumun dosya yolunu ögrenebilirsiniz.

bu dosya yolu doğru mu? ve dizin.php adlı dosyayı hangi dizinin içerisine atmam gerek

tarantula901

Konuda anlatilanlari yaap duzgun calisinca htacces ile istediginiz sekilde yonlendirilme yapilir.

Dizin yolunu ise sunucu ayarlari kisminda dizin yollari var o dizin yollarini kullan.
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