Konu: Bir kategorideki resimler  (Okunma sayısı 1193 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

24 Mart 2014, 19:13
  • *
    • İleti: 153
    • Karma: 1
    • EvcilSevgisi
    • Profili Görüntüle

Merhaba bir kategoride açılmış konuların içerisindeki ilk resmi yada eklenen bir resmi her konudan bir tane olacak şeklide simpleportal ile üst blok ekleyerek kaydırma imkanımız var mı ?

Örneğin birisi bi konu açtı eklentisine resim koydu bu forumun üst sayfasında kayan resimlere eklenecek.

Sadece bir kategori için.


24 Mart 2014, 19:27
Yanıtla #1
  • *
    • İleti: 2018
    • Karma: 41
    • Spina Bifida
    • Profili Görüntüle

Aşağıdaki kodlarla php blok oluşturun.
Kod: [Seç]
global $smcFunc, $scripturl;

$topic_ids = array(1, 2, 3, 4);

$request = $smcFunc['db_query']('', '
SELECT t.id_topic, m.subject, m.body
FROM {db_prefix}topics AS t
INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
WHERE t.id_topic IN ({array_int:topics})
ORDER BY m.subject',
array(
'topics' => $topic_ids,
)
);
$topics = array();
while ($row = $smcFunc['db_fetch_assoc']($request))
$topics[] = array(
'id_topic' => $row['id_topic'],
'subject' => $row['subject'],
'body' => $row['body'],
'first_image' => preg_match_all('~\[img\]([^\]]+)\[\/img\]~i', $row['body'], $images) ? '<img src="' . $images[1][0] . '" alt="' . $row['subject'] . '" height="100" width="100" />' : '',
);
$smcFunc['db_free_result']($request);

echo '
<table>
<tr>
<td><input type="button" value="«" onclick="document.getElementById(\'images_marquee\').direction = \'left\';" /></td>
<td width="100%">
<marquee id="images_marquee" behavior="scroll" direction="left" scrollamount="8"  height="100" width="100%" onmouseover="this.stop();" onmouseout="this.start();">
<table>
<tr>';
foreach ($topics as $topic)
echo '
<td>
<a href="', $scripturl, '?topic=', $topic['id_topic'], '.0">', $topic['first_image'], '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span></span></a>
</td>';
echo '
</tr>
</table>
</marquee>
</td>
<td><input type="button" value="»" onclick="document.getElementById(\'images_marquee\').direction = \'right\';" /></td>
</tr>
</table>';


24 Mart 2014, 19:28
Yanıtla #2
  • *
    • İleti: 153
    • Karma: 1
    • EvcilSevgisi
    • Profili Görüntüle

Peki kategoriyi neresinden ayarliyacağım ?


24 Mart 2014, 19:31
Yanıtla #3
  • *
    • İleti: 2018
    • Karma: 41
    • Spina Bifida
    • Profili Görüntüle

verdiğim koddaki 1,2,3,4 yazan yer bölüm idleridir. Hangi bölümlerden çekecekseniz aralarına virgül koyup ekleyin.




24 Mart 2014, 19:37
Yanıtla #4
  • *
    • İleti: 153
    • Karma: 1
    • EvcilSevgisi
    • Profili Görüntüle

Kodu olduğu gibi yapıştırdım,

Sadece 151. bölümün (index sonunda board 151 yazıyor ) bende 151 yazdım sadece resimler görüntülenmedi.


24 Mart 2014, 19:41
Yanıtla #5
  • *
    • İleti: 2018
    • Karma: 41
    • Spina Bifida
    • Profili Görüntüle

seo konuları ile ilgilenmiyorum. diğer arkadaşlardan yardım bekleyebilirsiniz.


24 Mart 2014, 19:42
Yanıtla #6
  • *
    • İleti: 153
    • Karma: 1
    • EvcilSevgisi
    • Profili Görüntüle

Hayır bölüm id si ile bir problem yok kod ile ilgili


24 Mart 2014, 20:13
Yanıtla #7
  • *
    • İleti: 2018
    • Karma: 41
    • Spina Bifida
    • Profili Görüntüle

Şöyle yap:
Geçici demo: http://spinabifidaturkey.com/demo/index.php?action=forum
Benden bu kadar.
Kod: [Seç]
global $smcFunc, $scripturl;

$boards = array(151);

$request = $smcFunc['db_query']('', '
   SELECT t.id_topic, m.subject, m.body
   FROM {db_prefix}topics AS t
      INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
   WHERE t.id_board IN ({array_int:boards})
   ORDER BY t.id_topic DESC
        LIMIT {int:limit}',
   array(
     'boards' => $boards,
                'limit' => 5,
   )
);
$topics = array();
while ($row = $smcFunc['db_fetch_assoc']($request))
   $topics[] = array(
      'id_topic' => $row['id_topic'],
      'subject' => $row['subject'],
      'body' => $row['body'],
      'first_image' => preg_match_all('~\[img\]([^\]]+)\[\/img\]~i', $row['body'], $images) ? '<img src="' . $images[1][0] . '" alt="' . $row['subject'] . '" height="100" width="100" />' : '',
   );
$smcFunc['db_free_result']($request);

echo '
<table>
<tr>
<td><input type="button" value="«" onclick="document.getElementById(\'images_marquee\').direction = \'left\';" /></td>
<td width="100%">
<marquee id="images_marquee" behavior="scroll" direction="left" scrollamount="8"  height="100" width="100%" onmouseover="this.stop();" onmouseout="this.start();">
<table>
<tr>';
foreach ($topics as $topic)
echo '
<td>
<a href="', $scripturl, '?topic=', $topic['id_topic'], '.0">', $topic['first_image'], '<br /><span></span></a>
</td>';
echo '
</tr>
</table>
</marquee>
</td>
<td><input type="button" value="»" onclick="document.getElementById(\'images_marquee\').direction = \'right\';" /></td>
</tr>
</table><br />';

« Son Düzenleme: 24 Mart 2014, 20:20 Gönderen: bolubeyi »

24 Mart 2014, 20:41
Yanıtla #8
  • *
    • İleti: 153
    • Karma: 1
    • EvcilSevgisi
    • Profili Görüntüle

Usta aslında iki kod da çalışıyormuş,

Geçen birşeyler var ama görüntülenmiyor.

İmleç ile seçerek denedim sağdan sola kayan birseyler var ama resimler görünmüyor





24 Mart 2014, 20:53
Yanıtla #9
  • *
    • İleti: 2018
    • Karma: 41
    • Spina Bifida
    • Profili Görüntüle

Demo siteye size verdiğim kodları ekledim çalışıyor.
Şurada anlatılanı da uygula dene.
Yine çalışmazsa hatayı kendinizde ya da kurduğunuz diğer modlarda arayınız.
Başka bilmiyorum.