SimplePortal

Support => Turkish (Türkçe) => International Support => Ki?iselle?tirme => Topic started by: grafitus on April 27, 2010, 10:40:19 AM

Title: Blok İçinde Bloklar Oluşturmak
Post by: grafitus on April 27, 2010, 10:40:19 AM
http://simpleportal.net/index.php?page=blocks_in_block_sample

Yukarıdaki sayfayı açtığınızda toplamda 5, 4'ünün bir blok içinde olduğunu göreceksiniz. Bunu SimplePortal'la yapmak oldukça kolaydır.

Birinci adım: İçte olacak blokları oluşturun. Bu blokların etkin kutucuğunun işaretli olmadığına emin olun. Bu -içteki- blokların forumunuzda herhangi bir yerde görünmesini önleyecektir.

İkinci adım: yeni oluşturduğunuz blokların id değerlerini bulmak. Blok düzenleme linkine bakarak bu değeri bulabilirsiniz:

http://ornekforum.com/index.php?action=admin;area=portalblocks;sa=edit;block_id=2;{session_var}={session_id}

İhtiyacınız olan değer block_id değeridir (yukarıdaki koda göre 2). Aşağıdaki örnekte, biz 49, 50, 52, 53 blok id değerlerini kullanacağız.

Üçüncü adım: blokları içine alacak ve portalda görünecek olan bir PHP İçerik bloğu oluşturun. Ve içeriğine bir örnek olarak şu girilecek:

Code: [Select]
$columns = 2; // Bloklarımızın kaç sütun olacağı
$block_ids = array(49, 50, 52, 53); // İçteki blokların id değerleri

$block_data = array();
foreach ($block_ids as $block)
{
   $block_data[$block] = current(getBlockInfo(false, $block, false, false)); // Her bir bloğun (içteki) bilerini alıyoruz
   $block_data[$block]['style'] = sportal_parse_style('explode', $block_data[$block]['style'], true); // Her bloğun stil değerlerini alıyoruz.
}

echo '
<table style="width: 100%;">
   <tr>';

$counter = 0;
foreach ($block_data as $data)
{
   if ($counter != 0 && $counter % $columns == 0)
   {
      echo '
   </tr>
   <tr>';
   }

   echo '
      <td style="width: ', ceil((100 / $columns)), '%; vertical-align: top;">
         ', template_block($data), '
      </td>';

   $counter++;
}

echo '
   </tr>
</table>';

Bu kadar. :nervous-happy:


Ya da blok fonksiyonlarını kullanarak, yukarıdaki gibi birden fazla blok oluşturmadan uygun parametreleri kullanarak yapabiliriz. Hatta biraz da JavaScript katarak, bunun gibi güzel bir blok elde edebiliriz:

http://simpleportal.net/index.php?page=blocks_in_block_sample#sp_collapse_54

Code: [Select]
global $txt;

$txt['recent_topics'] = 'Son İletiler';
$txt['recent_posts'] = 'Son Konular';

$buttons = array(
   'recent_topics' => array(
      'text' => 'recent_topics',
      'image' => '',
      'lang' => true,
      'url' => '#recent_topics" id="b_rt" onclick="change_display(); return false;',
      'active' => true,
   ),
   'recent_posts' => array(
      'text' => 'recent_posts',
      'image' => '',
      'lang' => true,
      'url' => '#recent_posts" id="b_rp" onclick="change_display(); return false;',
   ),
);

echo '
<div style="overflow: auto;">
   ', template_button_strip($buttons), '
</div>
<div id="recent_topics">
   ', sp_recent(array('type' => 1, 'display' => 1), 0), '
</div>
<div id="recent_posts" style="display: none;">
   ', sp_recent(array('display' => 1), 0), '
</div>
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
   function change_display()
   {
      var current = document.getElementById(\'recent_posts\').style.display;

      document.getElementById(\'recent_topics\').style.display = current ? \'none\' : \'\';
      document.getElementById(\'recent_posts\').style.display = current ? \'\' : \'none\';
      document.getElementById(\'b_rt\').className = current ? \'button_strip_recent_topics\' : \'button_strip_recent_topics active\';
      document.getElementById(\'b_rp\').className = current ? \'button_strip_recent_posts active\' : \'button_strip_recent_posts\';
   }
// ]]></script>';

Bu bize "basitliğin gücü"nin çağrısıdır. Umarız bu SimplePortal'ın esnek ve güçlü yapısına bir fikir vermiştir. Eğer herhangi bir sorunuz varsa sorun çekinmeyin. ;)

Asıl konu (http://simpleportal.net/index.php?topic=5332.0), [SiNaN] (http://simpleportal.net/index.php?action=profile;u=2) tarafından hazırlanmıştır...
Title: Re: Blok İçinde Bloklar Oluşturmak!
Post by: Bumin on June 08, 2010, 06:15:35 AM
http://simpleportal.net/index.php?topic=5039.msg30593#msg30593

usta böyle bir başlık açmıştım
yukarıda bahsetmiş olduğun işlemi bu başlıkta açmış
olduğuma da uygulayabilirmiyiz..
örneğin formumuzda şiirler  hikayeler fıkralar bölümlerinin son eklenen konularını ayrı ayrı bloklarda değilde hepsine tek bir blokta görüntülememiz mümkünmüdür.
buarada bu paylaşım çok güzel olmuş eline sağlık teşekkürler

floot yapmamak için düzenlemek zorunda kaldım
usta denedim ve oldu bu paylaşımın için çooooook teşekkürler acayip işime yaradı sağolasın
Title: Re: Blok İçinde Bloklar Oluşturmak!
Post by: kimyaci on July 08, 2010, 01:07:18 PM
Arkadaşlar bu kodlarla  konuları tanımlayamazmıyız.İsteiğimiz konun İD sini vererek o konuda yer alan ilk mesajdaki resim gelse.Teşekkürler.
Title: Re: Blok İçinde Bloklar Oluşturmak!
Post by: grafitus on July 08, 2010, 03:11:37 PM
Arkadaşlar bu kodlarla  konuları tanımlayamazmıyız.İsteiğimiz konun İD sini vererek o konuda yer alan ilk mesajdaki resim gelse.Teşekkürler.
Hayır. Sizin istediğiniz daha farklı bir şey. Eğer böyle bir şey -veya başka bir şey- isterseniz, Kişiselleştirme (http://simpleportal.net/index.php?board=64.0) bölümünde yeni konu açın.
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: kimyaci on July 25, 2010, 03:47:16 PM
"Veritabanı hatası. Kodlarınızdaki veritabanı sorgularını kontrol edin." Şeklinde bir hata mesajı alıyorum.
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: grafitus on July 26, 2010, 04:37:01 AM
"Veritabanı hatası. Kodlarınızdaki veritabanı sorgularını kontrol edin." Şeklinde bir hata mesajı alıyorum.
Yukarıda verdiğim kodların hiçbirinde veritabanı sorgusu yok. Dolaylı olarak SSI'dan böyle bir hatayı alıyor da olabilir.
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: Bumin on September 26, 2010, 05:35:55 PM
"Veritabanı hatası. Kodlarınızdaki veritabanı sorgularını kontrol edin." Şeklinde bir hata mesajı alıyorum.

2.0.RC3 Sürümünde aynı hatayı bende alıyorum ön izleme yaptığım zaman hiçbir sorun yok ama bloğu eklemeye kalktığım zaman yukardaki gibi bir hata veriyor çözebildinizmi arkadaşlar şimdiden teşekkürler
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: grafitus on September 26, 2010, 05:44:04 PM
Yönetim > SimplePortal > Temel Ayarlar sayfasında "PHP kodu doğrulamasını kapat" seçeneği işaretleyin. Bloğu ekledikten sonra tekrar o seçeneği pasif konuma getirmeniz sizin açınızdan daha yararlı olacaktır.
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: grafitus on October 01, 2010, 10:59:58 AM
Yukarıda paylaşmış olduğumuz JavaScript'li örneğin, daha gelişmiş ve kolaylaştırılmış hâli:
Code: [Select]
$blocks = array(
array(
'label' => 'Son İletiler',
'type' => 'sp_recent',
'parameters' => array('display' => 1),
),
array(
'label' => 'Son Konular',
'type' => 'sp_recent',
'parameters' => array('type' => 1, 'display' => 1),
),
array(
'label' => 'En Çok İleti Gönderenler',
'type' => 'sp_topPoster',
'parameters' => array(),
),
array(
'label' => 'Takvim',
'type' => 'sp_calendar',
'parameters' => array(),
),
);

global $txt;

$button_list = array();
foreach ($blocks as $id => $block)
{
$txt['sp_bib_label_' . $id] = $block['label'];

$button_list[] = array(
'text' => 'sp_bib_label_' . $id,
'image' => '',
'lang' => true,
'url' => '#sp_bib_' . $id . '" id="sp_bib_button_' . $id . '" onclick="sp_bib_change(' . $id . '); return false;',
);
}

$button_list[0]['active'] = true;

echo '
<div style="overflow: auto;">
', template_button_strip($button_list), '
</div>';

foreach ($blocks as $id => $block)
{
echo '
<div id="sp_bib_', $id, '"', $id != 0 ? ' style="display: none;"' : '', '>';

$block['type']($block['parameters'], 0);

echo '
</div>';
}

echo '
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
function sp_bib_change(id)
{
for (var i = 0; i < ', count($blocks), '; i++)
{
document.getElementById(\'sp_bib_\' + i).style.display = i == id ? \'\' : \'none\';
document.getElementById(\'sp_bib_button_\' + i).className = \'button_strip_\' + i + (i == id ? \' active\' : \'\');
}
}
// ]]></script>';

Şu anki haliyle Son İletiler, Son Konular, En Çok İleti Gönderenler ve Takvim bloklarını gösteriyor. Daha fazlasını eklemek için: ./Sources/PortalBlocks.php'den göstermek istediğiniz blok türünün fonksiyon ismini almalın (Örneğin, Yönetim Ekibi türü için fonksiyon ismi sp_staff).

Daha sonra yukarıdaki kodda $blocks dizinine, hangi bloktan sonra görünmesini istiyorsanız, o blokun sonrasına aşağıdaki gibi bir ifadeyi ekleyin:
Code: [Select]
array(
'label' => 'Alt Blok Başlığı',
'type' => 'FONKSİYON İSMİ',
'parameters' => array(), // Parametreler
),

Yani Yönetim Ekibi bloğu için şöyle bir şey ekleyeceğiz:
Code: [Select]
array(
'label' => 'Yönetim Ekibi',
'type' => 'sp_staff',
'parameters' => array('lmod' => 0), // Moderatörleri gösterdik
),
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: ogretmen71.com on January 09, 2011, 01:52:06 PM
Teşekkürler hocam harika oldu sayenizde. :)
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: JANJ@N on January 12, 2011, 11:11:39 AM
peki profil ve online üyeler bloğunu nasıl sekmeli yapabiliriz ? fonksiyon isimlerini bulmadım,

bir de php kodla oluşturduğumuz blokları da sekmeli yapabilir miyiz, yani sonradan düzenlenen, fonksiyon ismi olmayan blokları
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: JANJ@N on January 26, 2011, 06:20:12 PM
profil için; sp_userInfo
Online listesi; sp_whosOnline
arama için; sp_quickSearch

bunları buldum

php kodla oluşturduğumuz blokları da sekmeli yapabilir miyiz :)

Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: grafitus on January 27, 2011, 03:59:28 PM
Gecikme için kusura bakmayın. Telefonumdan konuyu okumuştum. Ancak bilgisayardan bakmayı unutmuşum.

Code: [Select]
$blocks = array(
array(
'label' => 'Kullanıcı Bilgisi',
'type' => 'sp_userInfo',
'parameters' => array(),
),
array(
'label' => 'Çevrimiçi Üyeler',
'type' => 'sp_whosOnline',
'parameters' => array(),
),
array(
'label' => 'Hızlı Arama',
'type' => 'sp_quickSearch',
'parameters' => array(),
),
);

global $txt;

$button_list = array();
foreach ($blocks as $id => $block)
{
$txt['sp_bib_label_' . $id] = $block['label'];

$button_list[] = array(
'text' => 'sp_bib_label_' . $id,
'image' => '',
'lang' => true,
'url' => '#sp_bib_' . $id . '" id="sp_bib_button_' . $id . '" onclick="sp_bib_change(' . $id . '); return false;',
);
}

$button_list[0]['active'] = true;

echo '
<div style="overflow: auto;">
', template_button_strip($button_list), '
</div>';

foreach ($blocks as $id => $block)
{
echo '
<div id="sp_bib_', $id, '"', $id != 0 ? ' style="display: none;"' : '', '>';

$block['type']($block['parameters'], 0);

echo '
</div>';
}

echo '
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
function sp_bib_change(id)
{
for (var i = 0; i < ', count($blocks), '; i++)
{
document.getElementById(\'sp_bib_\' + i).style.display = i == id ? \'\' : \'none\';
document.getElementById(\'sp_bib_button_\' + i).className = \'button_strip_\' + i + (i == id ? \' active\' : \'\');
}
}
// ]]></script>';
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: JANJ@N on January 27, 2011, 04:40:44 PM
teşekürler eline sağlık :)
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: yalnizkurt3 on March 27, 2011, 09:20:24 AM
Javascriptli uygulamayı aynen yaptım ama biraz bozuk çıktı bende, mesela diğer menülere tıkladığımda aynı tablo içinde çıkması gerekirken alta kayıyor. Ekteki resimlerle adım adım anlatmaya çalıştım sorunu, yardımcı olursanız sevinirim.
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: grafitus on March 27, 2011, 10:20:10 AM
Hiçbir fikrim yok neden öyle olduğuna dair. Biraz önce de tekrar denedim kodu.
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: yalnizkurt3 on March 27, 2011, 11:31:47 AM
Hiçbir fikrim yok neden öyle olduğuna dair. Biraz önce de tekrar denedim kodu.

smf sürümüyle bir alakası olabilir mi acaba, 1.1.13 kullanıyorum
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: yalnizkurt3 on March 27, 2011, 04:18:07 PM
Sorun smf sürümünden kaynaklanıyor, localhostta sıfırdan 1.1.13 ve 2.0rc5 sürümlerini ayrı ayrı kurdum ve denedim, 2.0.rc5 de sorunsuz çalışırken 1.1.13 de sorun devam ediyor...1.1.13 de uyumlu hale getiremezmiyiz bunu  :|
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: kimyaci on March 28, 2011, 04:47:56 PM
Arkadaşlar aşağıda ki gibi yeni konuları 5-6 Tab oluşturara göstermek istiyorum.Fakat her Tabta farklı bir kategoride ki son konuları gösterecek şekilde.Örneğin aşağıda ki Tabta sadece "board,15" teki son konuların görünmesini nasıl sağlayabilirim.Teşekkürler.

Code: [Select]
   array(
      'label' => 'Primo',
      'type' => 'sp_boardNews',
      'parameters' => array(),
   ),
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: grafitus on March 29, 2011, 11:26:16 AM
Code: [Select]
array(
'label' => 'Son İletiler',
'type' => 'sp_recent',
'parameters' => array('boards' => '15'),
),
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: kimyaci on March 29, 2011, 12:04:24 PM
  Ana sayfada üst blokta konuları göstermeye çalışıyorum.Sizin yazdığınız gibi son iletiler geliyor.Ama ben resimli olarak portal üst blokta görünmesi için aşağıda ki kodu uyguladım olmadı.

Code: [Select]
array(
      'label' => 'Primo',
      'type' => 'sp_boardNews',
      'parameters' => array('boards' => '15'),
   ),

Not : Yada oluşturduğum bir bloğun id nosunu vererek.Her bir tabta farklı bir bloğu gösterebilirmiyiz.
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: webyusuf on November 11, 2011, 01:19:06 PM
  Ana sayfada üst blokta konuları göstermeye çalışıyorum.Sizin yazdığınız gibi son iletiler geliyor.Ama ben resimli olarak portal üst blokta görünmesi için aşağıda ki kodu uyguladım olmadı.

Code: [Select]
array(
      'label' => 'Primo',
      'type' => 'sp_boardNews',
      'parameters' => array('boards' => '15'),
   ),

Not : Yada oluşturduğum bir bloğun id nosunu vererek.Her bir tabta farklı bir bloğu gösterebilirmiyiz.
array(
      'label' => 'Primo',
      'type' => 'sp_boardNews',
      'parameters' => array('board' => '15'),
   ),

Bu şekilde değiştirince düzeliyor yalnız sadece 5 tane konu gösteriyor ve sayfaları numaralandırmıyor tek sayfa hakinde 5 konu şeklinde oluyor.Ayrıca sadece 1 tane board ekleniyor, 2.sini yazdığımda hata veriyor.

Şimdi belirlediğim 5-6 kategoride ve numarları olması için ne yapmam lazım ?
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: grafitus on November 11, 2011, 01:25:34 PM
Şu şekilde kullanabilirsiniz:
Code: [Select]
array(
      'label' => 'Primo',
      'type' => 'sp_boardNews',
      'parameters' => array(
            'boards' => array('15', 'x', 'y', 'x'), // Bölümlerin ID'leri
            'per_page' => 5, // Bir sayfada kaç tane konu gösterilecek
            'limit' => 25, // Toplam kaç tane konu çekilecek
),
   ),
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: webyusuf on November 11, 2011, 01:32:43 PM
board girdisine 4 tane bölüm id si  girdiğim halde tüm kategorideki konuları gösteriyor.

Code: [Select]
array(
      'label' => 'Torrent Oyunlar',
      'type' => 'sp_boardNews',
      'parameters' => array(
            'boards' => array('2', '3', '4', '5'), // Bölümlerin ID'leri
            'per_page' => 5, // Bir sayfada kaç tane konu gösterilecek
            'limit' => 25, // Toplam kaç tane konu çekilecek
),
 ),
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: webyusuf on November 13, 2011, 06:39:06 AM
Yardım edecekmisiniz ?
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: hhmercan on November 19, 2011, 10:20:06 PM
blok içerisinde blokları oluşturduk buna birde resim yanına açıklama ekleyebilirmiyiz.


örn;

(http://i.imgur.com/pK186.jpg)

bunun bir blok olduğunu düşünürsek bu şekilde resim yanına yazı.
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: tc bolubeyi on November 20, 2011, 01:41:37 AM
Kendinize göre editleyin.
Code: [Select]
    <div align="center">
   
    <table  border="0" bordercolor="#003c74" width="210" >
   
   
<tr style="align:left;background:#f5f5f5;">
  <td style=" border:solid 1px #003c74; height: 60px ; width: 60px ;">
<img border="0" src="http://www.spinabifidaturkey.com/smf/avatars/uyeavatarlari/herturk.png" width="79" height="100"></a>
                              </td>
<td style=" border:1px solid #003c74; height: 60px ; width: 100% ;" ><strong>
<a href="makale_linki">Makale Adı</a><br/></strong>
<a href="makale_sahibinin_profil_linki">Gönderenin Adı Soyadı</a><br/>Tarih</td>     
     </tr>   
   
   
<tr style="align:left;background:#f5f5f5;">
  <td style=" border:solid 1px #003c74; height: 60px ; width: 60px ;">
<img border="0" src="http://www.spinabifidaturkey.com/smf/avatars/uyeavatarlari/herturk.png" width="79" height="100"></td>
<td style=" border:1px solid #003c74; height: 60px ; width: 100% ;" ><strong>
<a href="makale_linki">Makale Adı</a><br/></strong>
<a href="makale_sahibinin_profil_linki">Gönderenin Adı Soyadı</a><br/>Tarih</td>     
     </tr>   
   
   
<tr style="align:left;background:#f5f5f5;">
  <td style=" border:solid 1px #003c74; height: 60px ; width: 60px ;">
<img border="0" src="http://www.spinabifidaturkey.com/smf/avatars/uyeavatarlari/herturk.png" width="79" height="100"></td>
<td style=" border:1px solid #003c74; height: 60px ; width: 100% ;" ><strong>
<a href="makale_linki">Makale Adı</a><br/></strong>
<a href="makale_sahibinin_profil_linki">Gönderenin Adı Soyadı</a><br/>Tarih</td>     
     </tr>   
   
   
<tr style="align:left;background:#f5f5f5;">
  <td style=" border:solid 1px #003c74; height: 60px ; width: 60px ;">
<img border="0" src="http://www.spinabifidaturkey.com/smf/avatars/uyeavatarlari/herturk.png" width="79" height="100"></td>
<td style=" border:1px solid #003c74; height: 60px ; width: 100% ;" ><strong>
<a href="makale_linki">Makale Adı</a><br/></strong>
<a href="makale_sahibinin_profil_linki">Gönderenin Adı Soyadı</a><br/>Tarih</td>     
     </tr>   
   
   
<tr style="align:left;background:#f5f5f5;">
  <td style=" border:solid 1px #003c74; height: 60px ; width: 60px ;">
<img border="0" src="http://www.spinabifidaturkey.com/smf/avatars/uyeavatarlari/herturk.png" width="79" height="100"></td>
<td style=" border:1px solid #003c74; height: 60px ; width: 100% ;" ><strong>
<a href="makale_linki">Makale Adı</a><br/></strong>
<a href="makale_sahibinin_profil_linki">Gönderenin Adı Soyadı</a><br/>Tarih</td>     
     </tr>   
    </table></div>
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: hhmercan on November 20, 2011, 11:19:51 AM
Kendinize göre editleyin.
Code: [Select]
    <div align="center">
   
    <table  border="0" bordercolor="#003c74" width="210" >
   
   
<tr style="align:left;background:#f5f5f5;">
  <td style=" border:solid 1px #003c74; height: 60px ; width: 60px ;">
<img border="0" src="http://www.spinabifidaturkey.com/smf/avatars/uyeavatarlari/herturk.png" width="79" height="100"></a>
                              </td>
<td style=" border:1px solid #003c74; height: 60px ; width: 100% ;" ><strong>
<a href="makale_linki">Makale Adı</a><br/></strong>
<a href="makale_sahibinin_profil_linki">Gönderenin Adı Soyadı</a><br/>Tarih</td>     
     </tr>   
   
   
<tr style="align:left;background:#f5f5f5;">
  <td style=" border:solid 1px #003c74; height: 60px ; width: 60px ;">
<img border="0" src="http://www.spinabifidaturkey.com/smf/avatars/uyeavatarlari/herturk.png" width="79" height="100"></td>
<td style=" border:1px solid #003c74; height: 60px ; width: 100% ;" ><strong>
<a href="makale_linki">Makale Adı</a><br/></strong>
<a href="makale_sahibinin_profil_linki">Gönderenin Adı Soyadı</a><br/>Tarih</td>     
     </tr>   
   
   
<tr style="align:left;background:#f5f5f5;">
  <td style=" border:solid 1px #003c74; height: 60px ; width: 60px ;">
<img border="0" src="http://www.spinabifidaturkey.com/smf/avatars/uyeavatarlari/herturk.png" width="79" height="100"></td>
<td style=" border:1px solid #003c74; height: 60px ; width: 100% ;" ><strong>
<a href="makale_linki">Makale Adı</a><br/></strong>
<a href="makale_sahibinin_profil_linki">Gönderenin Adı Soyadı</a><br/>Tarih</td>     
     </tr>   
   
   
<tr style="align:left;background:#f5f5f5;">
  <td style=" border:solid 1px #003c74; height: 60px ; width: 60px ;">
<img border="0" src="http://www.spinabifidaturkey.com/smf/avatars/uyeavatarlari/herturk.png" width="79" height="100"></td>
<td style=" border:1px solid #003c74; height: 60px ; width: 100% ;" ><strong>
<a href="makale_linki">Makale Adı</a><br/></strong>
<a href="makale_sahibinin_profil_linki">Gönderenin Adı Soyadı</a><br/>Tarih</td>     
     </tr>   
   
   
<tr style="align:left;background:#f5f5f5;">
  <td style=" border:solid 1px #003c74; height: 60px ; width: 60px ;">
<img border="0" src="http://www.spinabifidaturkey.com/smf/avatars/uyeavatarlari/herturk.png" width="79" height="100"></td>
<td style=" border:1px solid #003c74; height: 60px ; width: 100% ;" ><strong>
<a href="makale_linki">Makale Adı</a><br/></strong>
<a href="makale_sahibinin_profil_linki">Gönderenin Adı Soyadı</a><br/>Tarih</td>     
     </tr>   
    </table></div>

hocam bunu tek oval çerçeve içine alıp resimle yazı arasına sadece çizgi çekmek istiyorum  :|
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: hhmercan on November 20, 2011, 06:32:33 PM
board girdisine 4 tane bölüm id si  girdiğim halde tüm kategorideki konuları gösteriyor.

Code: [Select]
array(
      'label' => 'Torrent Oyunlar',
      'type' => 'sp_boardNews',
      'parameters' => array(
            'boards' => array('2', '3', '4', '5'), // Bölümlerin ID'leri
            'per_page' => 5, // Bir sayfada kaç tane konu gösterilecek
            'limit' => 25, // Toplam kaç tane konu çekilecek
),
 ),

bendede aynı şekilde oluyor
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: tc bolubeyi on November 21, 2011, 01:30:26 AM
Benden bu kadar.
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: hhmercan on November 21, 2011, 09:09:55 AM
Şu şekilde kullanabilirsiniz:
Code: [Select]
array(
      'label' => 'Primo',
      'type' => 'sp_boardNews',
      'parameters' => array(
            'boards' => array('15', 'x', 'y', 'x'), // Bölümlerin ID'leri
            'per_page' => 5, // Bir sayfada kaç tane konu gösterilecek
            'limit' => 25, // Toplam kaç tane konu çekilecek
),
   ),

yazmış olduğum bölüm id'lerindekini değilde forumda mesaj atılmış son konuları gösteriyor bu şekilde
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: hhmercan on November 22, 2011, 10:53:12 AM
Şu şekilde kullanabilirsiniz:
Code: [Select]
array(
      'label' => 'Primo',
      'type' => 'sp_boardNews',
      'parameters' => array(
            'boards' => array('15', 'x', 'y', 'x'), // Bölümlerin ID'leri
            'per_page' => 5, // Bir sayfada kaç tane konu gösterilecek
            'limit' => 25, // Toplam kaç tane konu çekilecek
),
   ),

yazmış olduğum bölüm id'lerindekini değilde forumda mesaj atılmış son konuları gösteriyor bu şekilde

konu güncel. keşke bunun içinde yeni sürümde bir güncelleme çıksa ve bu konuda kilitlense  ;P
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: grafitus on November 22, 2011, 10:56:15 AM
Sanırım ne istediğinizi anlayamadım ben. Başka bir şekilde anlatabilir misiniz?
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: hhmercan on November 22, 2011, 11:06:57 AM
Sanırım ne istediğinizi anlayamadım ben. Başka bir şekilde anlatabilir misiniz?

tabiki  :nervous-happy:

(http://i.imgur.com/rArQV.png)

hocam aynen yukarıdaki gibi bloklar olacak ancak son konular son iletiler yerine orneğin;

sadece bu kategorilerde açılan son konuların çıkmasını istiyorum.

Kategori 1:
(http://i.imgur.com/GBFVd.png)








Kategori 2:
(http://i.imgur.com/nxAbC.png)








Kategori 3:
(http://i.imgur.com/DGs8f.png)

yani
1. tab filmler olacak film kategorisindeki son konular çıkacak
2. tab oyunlar olacak oyun kategorisindeki son konular gösterilecek
3. kategori belgesel olacak belgeseller kategorisindeki son konular görüntülenecek

her tabda farklı alanlarda açılan son konuları göstermek istiyorum
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: webyusuf on November 22, 2011, 01:46:42 PM
hhmercan da benim anlatmak istediğimi söylüyor.Yani boardsa yazdığım nolar hiç bir işe yaramıyor.
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: grafitus on November 24, 2011, 07:59:52 AM
Öyleyse sanırım şu işinizi görür:
Code: [Select]
$blocks = array(
array(
'label' => 'Film',
'type' => 'sp_recent',
'parameters' => array('boards' => '12|85|6|73', 'type' => 1, 'display' => 1),
),
array(
'label' => 'Oyun',
'type' => 'sp_recent',
'parameters' => array('boards' => '12|85|6|73', 'type' => 1, 'display' => 1),
),
array(
'label' => 'Belgesel',
'type' => 'sp_recent',
'parameters' => array('boards' => '12|85|6|73', 'type' => 1, 'display' => 1),
),
);

global $txt;

$button_list = array();
foreach ($blocks as $id => $block)
{
$txt['sp_bib_label_' . $id] = $block['label'];

$button_list[] = array(
'text' => 'sp_bib_label_' . $id,
'image' => '',
'lang' => true,
'url' => '#sp_bib_' . $id . '" id="sp_bib_button_' . $id . '" onclick="sp_bib_change(' . $id . '); return false;',
);
}

$button_list[0]['active'] = true;

echo '
<div style="overflow: auto;">
', template_button_strip($button_list), '
</div>';

foreach ($blocks as $id => $block)
{
echo '
<div id="sp_bib_', $id, '"', $id != 0 ? ' style="display: none;"' : '', '>';

$block['type']($block['parameters'], 0);

echo '
</div>';
}

echo '
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
function sp_bib_change(id)
{
for (var i = 0; i < ', count($blocks), '; i++)
{
document.getElementById(\'sp_bib_\' + i).style.display = i == id ? \'\' : \'none\';
document.getElementById(\'sp_bib_button_\' + i).className = \'button_strip_\' + i + (i == id ? \' active\' : \'\');
}
}
// ]]></script>';

Maalesef direk kategori olarak giriş yapamazsınız. Her bölüm ID'sini "|" (dizey çizgi) karakteriyle ayırıp ilgili yerdeki 'boards' => '12|85|6|73' yerinde değer olarak yazmalısınız.
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: hhmercan on November 25, 2011, 05:39:39 AM
Öyleyse sanırım şu işinizi görür:
Code: [Select]
$blocks = array(
array(
'label' => 'Film',
'type' => 'sp_recent',
'parameters' => array('boards' => '12|85|6|73', 'type' => 1, 'display' => 1),
),
array(
'label' => 'Oyun',
'type' => 'sp_recent',
'parameters' => array('boards' => '12|85|6|73', 'type' => 1, 'display' => 1),
),
array(
'label' => 'Belgesel',
'type' => 'sp_recent',
'parameters' => array('boards' => '12|85|6|73', 'type' => 1, 'display' => 1),
),
);

global $txt;

$button_list = array();
foreach ($blocks as $id => $block)
{
$txt['sp_bib_label_' . $id] = $block['label'];

$button_list[] = array(
'text' => 'sp_bib_label_' . $id,
'image' => '',
'lang' => true,
'url' => '#sp_bib_' . $id . '" id="sp_bib_button_' . $id . '" onclick="sp_bib_change(' . $id . '); return false;',
);
}

$button_list[0]['active'] = true;

echo '
<div style="overflow: auto;">
', template_button_strip($button_list), '
</div>';

foreach ($blocks as $id => $block)
{
echo '
<div id="sp_bib_', $id, '"', $id != 0 ? ' style="display: none;"' : '', '>';

$block['type']($block['parameters'], 0);

echo '
</div>';
}

echo '
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
function sp_bib_change(id)
{
for (var i = 0; i < ', count($blocks), '; i++)
{
document.getElementById(\'sp_bib_\' + i).style.display = i == id ? \'\' : \'none\';
document.getElementById(\'sp_bib_button_\' + i).className = \'button_strip_\' + i + (i == id ? \' active\' : \'\');
}
}
// ]]></script>';

Maalesef direk kategori olarak giriş yapamazsınız. Her bölüm ID'sini "|" (dizey çizgi) karakteriyle ayırıp ilgili yerdeki 'boards' => '12|85|6|73' yerinde değer olarak yazmalısınız.


hocam ellerine sağlık şimdi oldu teşekkürler :)
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: adil on January 01, 2012, 01:38:24 PM
Merhaba ben tam olarak anlayamadığım bir şey var 4  tane etkin olmayan block oluşturdum.Verdiğiniz link'ten block ids numarasını bulamadım

Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: yemre_61 on September 27, 2012, 02:17:38 AM
http://simpleportal.net/index.php?page=blocks_in_block_sample

Yukarıdaki sayfayı açtığınızda toplamda 5, 4'ünün bir blok içinde olduğunu göreceksiniz. Bunu SimplePortal'la yapmak oldukça kolaydır.

Birinci adım: İçte olacak blokları oluşturun. Bu blokların etkin kutucuğunun işaretli olmadığına emin olun. Bu -içteki- blokların forumunuzda herhangi bir yerde görünmesini önleyecektir.

İkinci adım: yeni oluşturduğunuz blokların id değerlerini bulmak. Blok düzenleme linkine bakarak bu değeri bulabilirsiniz:

http://ornekforum.com/index.php?action=admin;area=portalblocks;sa=edit;block_id=2;{session_var}={session_id}

İhtiyacınız olan değer block_id değeridir (yukarıdaki koda göre 2). Aşağıdaki örnekte, biz 49, 50, 52, 53 blok id değerlerini kullanacağız.

Üçüncü adım: blokları içine alacak ve portalda görünecek olan bir PHP İçerik bloğu oluşturun. Ve içeriğine bir örnek olarak şu girilecek:

Code: [Select]
$columns = 2; // Bloklarımızın kaç sütun olacağı
$block_ids = array(49, 50, 52, 53); // İçteki blokların id değerleri

$block_data = array();
foreach ($block_ids as $block)
{
   $block_data[$block] = current(getBlockInfo(false, $block, false, false)); // Her bir bloğun (içteki) bilerini alıyoruz
   $block_data[$block]['style'] = sportal_parse_style('explode', $block_data[$block]['style'], true); // Her bloğun stil değerlerini alıyoruz.
}

echo '
<table style="width: 100%;">
   <tr>';

$counter = 0;
foreach ($block_data as $data)
{
   if ($counter != 0 && $counter % $columns == 0)
   {
      echo '
   </tr>
   <tr>';
   }

   echo '
      <td style="width: ', ceil((100 / $columns)), '%; vertical-align: top;">
         ', template_block($data), '
      </td>';

   $counter++;
}

echo '
   </tr>
</table>';

Bu kadar. :nervous-happy:


Ya da blok fonksiyonlarını kullanarak, yukarıdaki gibi birden fazla blok oluşturmadan uygun parametreleri kullanarak yapabiliriz. Hatta biraz da JavaScript katarak, bunun gibi güzel bir blok elde edebiliriz:

http://simpleportal.net/index.php?page=blocks_in_block_sample#sp_collapse_54

Code: [Select]
global $txt;

$txt['recent_topics'] = 'Son İletiler';
$txt['recent_posts'] = 'Son Konular';

$buttons = array(
   'recent_topics' => array(
      'text' => 'recent_topics',
      'image' => '',
      'lang' => true,
      'url' => '#recent_topics" id="b_rt" onclick="change_display(); return false;',
      'active' => true,
   ),
   'recent_posts' => array(
      'text' => 'recent_posts',
      'image' => '',
      'lang' => true,
      'url' => '#recent_posts" id="b_rp" onclick="change_display(); return false;',
   ),
);

echo '
<div style="overflow: auto;">
   ', template_button_strip($buttons), '
</div>
<div id="recent_topics">
   ', sp_recent(array('type' => 1, 'display' => 1), 0), '
</div>
<div id="recent_posts" style="display: none;">
   ', sp_recent(array('display' => 1), 0), '
</div>
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
   function change_display()
   {
      var current = document.getElementById(\'recent_posts\').style.display;

      document.getElementById(\'recent_topics\').style.display = current ? \'none\' : \'\';
      document.getElementById(\'recent_posts\').style.display = current ? \'\' : \'none\';
      document.getElementById(\'b_rt\').className = current ? \'button_strip_recent_topics\' : \'button_strip_recent_topics active\';
      document.getElementById(\'b_rp\').className = current ? \'button_strip_recent_posts active\' : \'button_strip_recent_posts\';
   }
// ]]></script>';

Bu bize "basitliğin gücü"nin çağrısıdır. Umarız bu SimplePortal'ın esnek ve güçlü yapısına bir fikir vermiştir. Eğer herhangi bir sorunuz varsa sorun çekinmeyin. ;)

Asıl konu (http://simpleportal.net/index.php?topic=5332.0), [SiNaN] (http://simpleportal.net/index.php?action=profile;u=2) tarafından hazırlanmıştır...

ne tür blok oluşturacaz nasıl yapacağımızı daha ayrıntılı anlatırmısın
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: mkuru on October 22, 2014, 06:27:32 AM
Code: [Select]
$columns = 2; // Bloklarımızın kaç sütun olacağı
$block_ids = array(49, 50, 52, 53); // İçteki blokların id değerleri

$block_data = array();
foreach ($block_ids as $block)
{
   $block_data[$block] = current(getBlockInfo(false, $block, false, false)); // Her bir bloğun (içteki) bilerini alıyoruz
   $block_data[$block]['style'] = sportal_parse_style('explode', $block_data[$block]['style'], true); // Her bloğun stil değerlerini alıyoruz.
}

echo '
<table style="width: 100%;">
   <tr>';

$counter = 0;
foreach ($block_data as $data)
{
   if ($counter != 0 && $counter % $columns == 0)
   {
      echo '
   </tr>
   <tr>';
   }

   echo '
      <td style="width: ', ceil((100 / $columns)), '%; vertical-align: top;">
         ', template_block($data), '
      </td>';

   $counter++;
}

echo '
   </tr>
</table>';

Hocam yukarıdaki kodlarla blok oluşturmaya kalktığımda önizlemeyi falan yapıyor ama blok ekle dediğim zaman

PHP sözdizimi hatası. Kodlarınızı kontrol edin.

uyarısı veriyor ve kaydedemiyorum. Bunun bir çözümü var mı?
Title: Re: Blok İçinde Bloklar Oluşturmak
Post by: tc bolubeyi on November 18, 2014, 10:56:27 AM
ayarlardan PHP kodu doğrulamasını kapat özelliğini aktif edin.
SimplePortal 2.3.8 © 2008-2024, SimplePortal