01 Nis 2023 20:34 Yeni Konu Oluştur

Haberler:

Üye kayıt esnasında E-posta adresinizin doğru olduğuna ve Aktivasyon Mailinize bakmayı unutmayın.


Sayfalama yardim

Başlatan gecitli, 02 Ksm 2017 23:41

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

*

  1. 150

  2. 40

  3. 175

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

ornek kodlar

<?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

*

  1. 1,197

  2. 120

  3. 401
02 Ksm 2017 23:58 #1 Son düzenlenme: 03 Ksm 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
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.

*

  1. 150

  2. 40

  3. 175
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.

*

  1. 1,197

  2. 120

  3. 401

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


Benzer Konular (1)


MENU ×