• Web sitemize kayıt olmak ve onay işlemleri ile ilgili genel bilgilendirme için buraya tıklayınız

Çözüldü Xenforo 2.x php Koşulları / Conditional Statements for XenForo 2

imtsoft

Member
Licenced
Customer
XenTR Üyesi
Katılım
20 Eki 2020
Mesajlar
41
Tepki puanı
21
Puanları
8
Aşağıdaki kodlar XF 1.5 da çalışıyordu ama 2.x da çalışmıyor, muadili varmıdır acaba ? tema kodları şeklinde değilde doğrudan php içinde çalışacak şekilde olacak. xenforo resmi sitesinde verdikleri örnekler hep template içinde kullanıma göre.

Mesala ben bir x.php sayfamda istiyorumki group id nosu 6 dan aşağı olanlar erişim sağlayamasın, yani işin özü grop id lere göre bazı yasaklı extra php sayfalar yapacağım..

Kod:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!
 
Çözüm
Aşağıdaki kodlar XF 1.5 da çalışıyordu ama 2.x da çalışmıyor, muadili varmıdır acaba ? tema kodları şeklinde değilde doğrudan php içinde çalışacak şekilde olacak. xenforo resmi sitesinde verdikleri örnekler hep template içinde kullanıma göre.

Mesala ben bir x.php sayfamda istiyorumki group id nosu 6 dan aşağı olanlar erişim sağlayamasın, yani işin özü grop id lere göre bazı yasaklı extra php sayfalar yapacağım..

Kod:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Ben bu kodlarda bir sorun görmüyorum,
Sadece değişkenlerinizin ney olduğunu tanımlamanız gerekir yoksa bu değerler null...

XenTR

Well-known member
Admin
XenTR Mod
Customer
SMS Confirmed
XenTR Üyesi
Katılım
3 Şub 2019
Mesajlar
1,765
Çözümler
27
Tepki puanı
2,452
Puanları
113
XenForo şablon yapılarında da koşullu ifade kullanmanız aynı amaca hizmet edecektir. Yapmak istediğiniz eğer XenForo'dan bağımsız harici php dosyası değilse.

Sayfa olarak düşündüğünüz şeyi yine harici php oluşturmadan XenForo'nun kendi node alanında yer alan Page biçimi ile daha fonksiyonel ve yönetilebilir bir yapı çıkarabilirsiniz. Ayrıca oluşturacağınız sayfanın kullanıcı izinlerini de rahatlıkla ayarlayabilirsiniz.

Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Oluşturduğunuz sayfa içerisinde yer alan Template HTML alanını kendi kodlarınızı dahil edebilir ve daha sonra bu sayfanın izinlerini ayarlayabilirsiniz.

Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!


Şablon yapısı içinde
group id nosu 6 dan aşağı olanlar erişim sağlayamasın
Bunu basit bir şekilde yine koşullu ifade ile yapabilirsiniz.
Kod:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!
x, y alanlarına sayfanızı görmesini istemediğiniz kullanıcı gruplarını aralarına virgül koyarak gizleyebilirsiniz.
 

imtsoft

Member
Licenced
Customer
XenTR Üyesi
Katılım
20 Eki 2020
Mesajlar
41
Tepki puanı
21
Puanları
8
CEvap için çok teşekkürler ustad, ancak ben dediğim gibi olayım harici bir php dosyası içinde ama oda XF php dosyası içinde yapacğaım için şablon kodları işimi görmüyor, eskiden yukarda verdiğim kodlar gibi basitçe yapabiliyorduk ama şuanda işler biraz karışmış gibi
 

XDinc

Well-known member
Admin
XenTR Mod
Customer
SMS Confirmed
XenTR Üyesi
Katılım
3 Şub 2019
Mesajlar
2,090
Çözümler
25
Tepki puanı
4,807
Puanları
113
Aşağıdaki kodlar XF 1.5 da çalışıyordu ama 2.x da çalışmıyor, muadili varmıdır acaba ? tema kodları şeklinde değilde doğrudan php içinde çalışacak şekilde olacak. xenforo resmi sitesinde verdikleri örnekler hep template içinde kullanıma göre.

Mesala ben bir x.php sayfamda istiyorumki group id nosu 6 dan aşağı olanlar erişim sağlayamasın, yani işin özü grop id lere göre bazı yasaklı extra php sayfalar yapacağım..

Kod:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Ben bu kodlarda bir sorun görmüyorum,
Sadece değişkenlerinizin ney olduğunu tanımlamanız gerekir yoksa bu değerler null döner, eğer bir değişken atamadan yapacaksanız doğru dizgiyi kullanın.

Örnek:
$visitor değişkeni nedir?
Bunu bu şekilde yazarsanız bu değerin ney olduğunu tanımlamalısınız

$visitor = \XF::visitor();

veya kısa kullanımı,

(!\XF::visitor())

Yine de tüm bunları uygulamanız durumunda bile bu kodların tüm yapınızı etkilemeden sorunsuz bir şekilde çalışması beklenmemeli.

XenForo sisteminde harici bir sayfa yada bir .php dizinin response edilmesinin en doğru yöntemi;
İlgili class yapısını extend etmektir.

Kullanmanız gereken class

PHP:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Doğru yapıyı uygulamanızı öneririm ...

PHP:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!
 
Çözüm

imtsoft

Member
Licenced
Customer
XenTR Üyesi
Katılım
20 Eki 2020
Mesajlar
41
Tepki puanı
21
Puanları
8
Dinç hocam teşekkürler aslında dediğini gibi olay " $visitor = \XF::visitor(); " bundan ibaretmiş bunu eklemek gerekiyormuş
 
Üst