MyBB Depo Forum

Orjinalini görmek için tıklayınız: Eklenti Yapımında Sorun
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Arkadaşlar ben bir eklenti kodluyorum. Şablon değiştirme kodunda eklenecek kodu
PHP Kod:
{$mybb->settings['deneme']} 
yapmak istiyorum fakat çalıştığında şablona eklediği kod
PHP Kod:
{$mybb->settings['deneme']} 
kodunun değeri yani direk bu kodu nasıl ekleyebilirim
Bu kod ayar tablosuna eklediğiniz içeriği çekmektedir. Yani eklentiyi aktifleştirirken veritabanındaki ayar tablosuna deneme ayarını ekletmelisiniz. Kodlarla açıklamak gerekirse;
PHP Kod:
$myfirstplugin_setting = array(
        
'sid'            => 'NULL',
        
'name'        => 'myfirstplugin_enable',
        
'title'            => 'Do you want to enable My First Plugin?',
        
'description'    => 'If you set this option to yes, this plugin be active on your board.',
        
'optionscode'    => 'yesno',
        
'value'        => '1',
        
'disporder'        => 1,
        
'gid'            => intval($gid),
    ); 
Burada
name kısmı sizde deneme ,
title kısmı ayar başlığı,
description ayarın açıklaması,
optionscode ayar türü,
value varsayılan değer
kısımlarına karşılık gelmektedir.

Veritabanına ekletmek için de aşağıdaki kodu çalıştırmalısınız;
PHP Kod:
$db->insert_query('settings'$myfirstplugin_setting);
  
rebuild_settings();


Daha detaylı bilgi için şu sayfaya bakabilirsiniz;
Kod:
http://community.mybb.com/thread-123172.html
Şablona eklerken ayargrubundaki ayarı nasıl göstereceğim onu bulamıyorum hocam, şablonda nasıl göstericem o değeri

Anlatamadım sanırım istediğimi, şimdi ben eklenti kodluyorum tamam, ama sorun şu ben index şablonunda {$header} kodu altına
PHP Kod:
{$mybb->settings['deneme']} 
kodunu ekleyince ayar grubundaki ayara verilen valuenin gösterilmesi gerekiyor. Ama bu kodu şablon değiştirme koduna ekleyince şu anki değeri ekleniyor şablona, direk bu kodun eklenmesini istiyorum ben.
K. bakmayın, siz hooklardan bahsediyorsunuz sanırım. Aşağıdaki linkte hangi hookun nereye içerik aktardığı yazıyor. Örneğin heder'a eklemek için fonksiyonunuzu global_start'a hooklamanız gerekiyor.

İlk olarak bir fonksiyon oluşturun. adı hooklama olsun. Daha sonra dosyanızın info fonksiyonundan önce şu şekilde fonksiyonunuzu hooklayın.
PHP Kod:
$plugins->add_hook('global_start''hooklama'); 
Hooklama fonksiyonunuzda da gönderilecek değişkeni yazın:
PHP Kod:
function hooklama()
    {
        global 
$mybb$templates$deneme;
        eval(
"\$deneme .= \"".$templates->get("sablonun adı")."\";"); // Şablonun içeriğini çeker
        /*
        Yada kendini bir değişken gönderebilirsiniz
        eval("\$deneme .= \"Göncerilen İçerik\";");
        */
    

Merhaba

Cep telefonu interneti ile ancak bu kadar hızlı mesaj yazabiliyorum bu yüzden kusura bakmayın.Hatanın nedeni şu siz kodu

Kod:
{$mybb->settings['deneme']}
şeklinde php dosyasına eklemeniz.Kodu başına $ işaretininin başına \ işareti ekleyerek denediğinizde otomatik değişken yazdırlacaktır.Örn ;

Kod:
{\$mybb->settings['deneme']}