Sayfalama yardim

Başlatan gecitli, 02 Kas 2017 23:41

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

gecitli

Merhaba sayfalama konusunda yardima ihtiyacim var
Bir bağimsiz sayfa oluşturdum

ornek kodlar

Kod [Seç]
<?php

if (!defined('SMF'))
die(
'Hacking attempt...');

function 
MyPage() {
    global 
$context;
    
$context['page_title'] = 'Webtiryaki - Free & Premium Responsive Themes & Mods for SMF';

    function 
template_main() {
global $context$settings$options$txt$scripturl$modSettings;
        echo 
'
<div class="container">
</div>'
;

    }
    
}

?>

buraya 10 konu girildikten sonra sayfa 2 den devam edecek.

tasarimin Demosu

CeeMoo

02 Kas 2017 23:58 #1 Son düzenlenme: 03 Kas 2017 00:07 CeeMoo
Huuportal direk yapmıştık abi $boards istediğiniz kategorileri seçin fazla kod yok.Ben anlaşılması hızlı olsun diye kodları kaldırmadım bizim html'leri.Eksik vb.. olursa burdayız :) Tasarım süper olmuş.İyi Çalışmalar şimdiden
Kod [Seç]
global $smcFunc, $context, $settings, $options, $txt, $scripturl, $modSettings;

 $boards=array(45,46,47);

 $sayfada = 8; // sayfada gösterilecek içerik miktarını belirtiyoruz.
 
 $sorgu = $smcFunc['db_query']('', 'SELECT COUNT(*) AS toplam
 FROM {db_prefix}topics AS t
 WHERE t.id_board IN ({array_int:boards})',
  array(
    'boards' => $boards,
  ));
 $sonuc = $smcFunc['db_fetch_assoc']($sorgu);
 $toplam_icerik = $sonuc['toplam'];

 $toplam_sayfa = ceil($toplam_icerik / $sayfada);

 // eğer sayfa girilmemişse 1 varsayalım.
 $saydir = isset($_GET['saydir']) ? (int) $_GET['saydir'] : 1;
 
 // eğer 1'den küçük bir sayfa sayısı girildiyse 1 yapalım.
 if($saydir < 1) $saydir = 1;
 
 // toplam sayfa sayımızdan fazla yazılırsa en son sayfayı varsayalım.
 if($saydir > $toplam_sayfa) $saydir = $toplam_sayfa;

 $limit = ($saydir - 1) * $sayfada;

 if($toplam_icerik == 0){
 echo '
 <div class="uk-alert-primary" uk-alert>
    <a class="uk-alert-close" uk-close></a>
    <p>Malesef şuanluk içerik bulunmuyor.</p>
 </div>';
 }else{
 
 $request = $smcFunc['db_query']('', '
  SELECT t.id_topic, m.subject, m.body, b.id_board, b.name AS board_name
  FROM {db_prefix}topics AS t
     INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
     LEFT JOIN {db_prefix}boards AS b ON (b.id_board = t.id_board)
  WHERE t.id_board IN ({array_int:boards})
  ORDER BY t.id_topic DESC
  LIMIT ' . $limit . ', ' . $sayfada.'',
  array(
    'boards' => $boards,
  )
 );
 $topics = array();
 while ($row = $smcFunc['db_fetch_assoc']($request))
  $topics[] = array(
     'id_topic' => $row['id_topic'],
     'subject' => $row['subject'],
     'name' => $row['board_name'],
     'boardsayi' => $row['id_board'],
     'first_image'  => preg_match_all('~\[img.*?\]([^\]]+)\[\/img\]~i', $row['body'],  $images) ? '<img src="' . $images[1][0] . '" alt="' .  $row['subject'] . '"/>      ' : '',
  );
 $smcFunc['db_free_result']($request);


  echo '<div class="uk-child-width-1-2@s uk-child-width-1-3@m uk-child-width-1-4@l uk-grid-small uk-grid-match" uk-grid>';
 foreach ($topics as $topic){
  echo '
    <div>
 <div class="uk-card uk-card-default uk-padding-remove">
 <div class="uk-card-badge uk-label">', $topic['name'],'</div>
 <a  href="', $scripturl, '?topic=', $topic['id_topic'], '.0">',  $topic['first_image'], '</a>
 <h4 class="uk-card-title uk-margin-small uk-text-center">',  $topic['subject'], '</h4>
    </div>
 </div>';}
 echo '</div>';
 
 echo '
 <div class="uk-flex uk-flex-center uk-padding">
 <ul class="uk-pagination">';
 for($s = 1; $s <= $toplam_sayfa; $s++) {
   if($saydir == $s) { // eğer bulunduğumuz sayfa ise link yapma.
      echo'
     <li class="uk-active"><span>'.$s.'</span></li>';
   } else {
      echo '
         <li><a href="?sayfa=temalar&saydir=' . $s . '">' . $s . '</a></li>
      ';
   }
 }
 echo'</ul></div>';

 }

Bir de tema fiyat olayı var onuda 'first_image'  => preg_match_all('~\[img.*?\]([^\]]+)\[\/img\]~i', $row['body'],  $images) ? '<img src="' . $images[1][0] . '" alt="' .  $row['subject'] . '"/>      ' : '',   gibi [img] bbc gibi derseniz 'fiyat'  => preg_match_all('~\[fiyat.*?\]([^\]]+)\[\/fiyat\]~i', $row['body'],  $fiyat) ? $fiyat[1][0] : 'Free',  şöylede çekip foreach 'de $topic['fiyat'] olarak kullanabilirsiniz.[fiyat] bulmazsa Free yazıcaktır.

gecitli

Sağol CeeMoo ben Store tarzi birşey yapmaya calişiyorum panelini filanda yaptim ama işin icine ssi yada sorgu girince hatalari gidermek mumkun olmuyor.

CeeMoo

Zaman kaybetmemek adına Wordpress+EasyDiğitalDownload ile kullanılabilir.

 -- Diğer türlü Smf Store ile direk yapılabilir : https://www.smfhacks.com/smf-store.php

Ödeme ile ilgili çalışmalarım olmadığı için tam yol veremiyorum : sanırsam biz https://www.iyzico.com/iyzilink kullanıcaz.Direk link verip ne ssl vb.. uğraşmayız.


İster wordpress ister smf olsun db elinizde olduğu sürece istediğiniz gibi temalarınızı gösterebilirsiniz. :) Umarım faydalı olur