ผู้เขียน หัวข้อ: วิธีดึง10 กระทู้ล่าสุดมาแสดงที่หน้าแรกของเว็บ (SMF2.0.2)  (อ่าน 47600 ครั้ง)

ออฟไลน์ We Love Thailand

  • เรารักประเทศไทย
  • Administrator
  • *
  • กระทู้: 1,229
  • ชอบกด Like+ 844
  • เพศ: ชาย
  • ใช้งานล่าสุด :12 มกราคม 2018, 12:54:45
  • รับบอกรักประเทศไทย
    • SprinklerThailand สปริงเกอร์ไทยแลนด์
วิธีดึง10 กระทู้ล่าสุดมาแสดงที่หน้าแรกของเว็บ (SMF2.0.2)
คือการดึงเอาหัวข้อล่าสุด (Recent topics) ออกมาโชว์ไว้ที่หน้าเว็บอื่นๆของเรา

แบบที่1. ธรรมดาทั่วๆไป ที่ใช้ function จาก ssi_recentTopics

สามารถดู function ต่างๆได้ที่ เว็บบอร์ดของท่าน ตัวอย่างพาธไฟล์เพื่อเข้าดู http://www.welovethailand.com/webboard/ssi_examples.php

ดูตัวอย่าง : show_ssi_recenttopics1

สร้างไฟล์ Show_ssi_recentTopics1.php :
โค๊ด: [Select]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php require("webboard/SSI.php"); ?>
<html>
<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="900" >
<title>วิธีดึง10 กระทู้ล่าสุดแบบ ssi_recentTopics | welovethailand.com</title>
<base target="_blank">
<style type="text/css">

body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #0066FF;}
a {font-size: 12px;color: #E79A0C;}
a:link { color: navy; text-decoration: none}
a:visited { color: #0000FF; text-decoration: none}
a:active { color: #FF9900; text-decoration: underline}
a:hover { color: Orange; text-decoration: underline}

</style>
</head>

<body >
<!--ดึง recentTopics-->
<?php ssi_recentTopics($num_recent =10 $exclude_boards null$include_boards 1$output_method 'echo'); ?>
<!--หมายเลข 10 คือจำนวนที่จะเเสดง   /   เลข 1 คือ id ของบอร์ดหรือโซนที่จะเเสดง ใส่ null ถ้าต้องการแสดงทุกบอร์ด-->

</body>
</html>

วิธีใช้ : วาง iframe ในตำแหน่งที่เราต้องการให้มันโชว์
โค๊ด: [Select]
    <div align="center">
<iframe src="Show_ssi_recentTopics1.php"  frameBorder="0" width="100%" height="225px" scrolling="no"allowtransparency="true"></iframe>
</div>

สิ่งที่ต้องแก้ไข :
1. <?php require("webboard/SSI.php"); ?> วางพาธไฟล์เรียก SSI.php ให้ถูกต้องตามเว็บของท่าน
2. <iframe src="Show_ssi_recentTopics1.php"  วางพาธไฟล์ที่ iframe เรียก Show_ssi_recentTopics1.php ให้ถูกต้องตามเว็บของท่าน

หรือใช้ <?php include("Show_ssi_recentTopics1.php"); ?> ก็ได้ ถ้าไม่ชอบแบบ Iframe เพราะยุ่งยากเรื่องพื้นหลังและความกว้างxยาว


แบบที่2. ssi_recentTopics2 มีตารางกับไม่มีตาราง

ดูตัวอย่าง : show_ssi_recenttopics2

สร้างไฟล์ Show_ssi_recentTopics2.php :
โค๊ด: [Select]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php require("webboard/SSI.php"); ?>
<html>
<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="900" >
<title>โชว์กระทู้์ล่าสุด smf2.0.2 | welovethailand.com</title>
<base target="_blank">
<style type="text/css">

body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #0066FF;}
a {font-size: 12px;color: #E79A0C;}
a:link { color: navy; text-decoration: none}
a:visited { color: #0000FF; text-decoration: none}
a:active { color: #FF9900; text-decoration: underline}
a:hover { color: Orange; text-decoration: underline}
td { height:22px}
</style>
</head>

<body >
<br>
<strong><u>recentTopics แบบ ssi_recentTopics2 แบบไม่ใส่ตาราง</u><br>
</strong><br>
<!--เริ่ม recentTopics แบบ ssi_recentTopics2 แบบไม่ใส่ตาราง-->
<?php
$welovetopic 
ssi_recentTopics('10',array(4,5,6), array(1,2,3),'array'); //10 กระทู้ที่ต้องการให้แสดง, array(4,5,6)บอร์ดที่จะไม่ให้แสดง, array(1,2,3)บอร์ดที่จะให้แสดง ปล่อยว่าง array() มาทุกบอร์ด
foreach ($welovetopic as $post){
echo
'
<a href="'
$post['href'], '">'$post['subject'], ' </a>  '$txt['by'], ' '$post['poster']['link'], ' [อ่าน:'$post['views'],']',' [ตอบ:'$post['replies'],']'' '$post['time'], '<br>
'
;
}
?>

<!--จบ recentTopics แบบ ssi_recentTopics2 แบบไม่ใส่ตาราง-->

<br>
<hr>
<br>
<strong><u>recentTopics แบบ ssi_recentTopics2 แบบใส่ตาราง</u></strong><br>
<br>

<!--เริ่ม recentTopics แบบ ssi_recentTopics2 แบบใส่ตาราง-->
<?php
$welovetopic 
ssi_recentTopics('10',array(4,5,6), array(1,2,3),'array'); //10 กระทู้ที่ต้องการให้แสดง, array(4,5,6)บอร์ดที่จะไม่ให้แสดง, array(1,2,3)บอร์ดที่จะให้แสดง ปล่อยว่าง array() มาทุกบอร์ด (ให้ใส่เพียงอันใดอันหนึ่งแล้วเว้นว่างอีกอันหนึ่งไว้)
echo'
<table width="640" border="1" cellpadding="0" cellspacing="0" bordercolor="#E8E8E8">
  <tr>
    <td width="380" bgcolor="#F4F4F4"><div align="center"><strong>หัวข้อ</strong></div></td>
    <td width="40" bgcolor="#F4F4F4"><div align="center"><strong>อ่าน</strong></div></td>
    <td width="40" bgcolor="#F4F4F4"><div align="center"><strong>ตอบ</strong></div></td>
    <td width="180" bgcolor="#F4F4F4"><div align="center"><strong>วัน/เวลา</strong></div></td>
  </tr>'
;
  
  foreach (
$welovetopic as $post)
  {
  echo
'
  <tr>
    <td><a href="'
$post['href'], '">'$post['subject'], ' </a>'$txt['by'], ' '$post['poster']['link'], '</td>
    <td bgcolor="#F4F4F4"><div align="center">'
$post['views'],'</div></td>
    <td bgcolor="#F4F4F4"><div align="center">'
,$post['replies'],'</div></td>
    <td bgcolor="#F4F4F4"><div align="center">'
$post['time'],'</div></td>
  </tr>'
;
  }
  echo
'
    <tr>
    <td bgcolor="#F4F4F4">&nbsp;</td>
    <td bgcolor="#F4F4F4">&nbsp;</td>
    <td bgcolor="#F4F4F4">&nbsp;</td>
    <td bgcolor="#F4F4F4">&nbsp;</td>
  </tr>
</table>
'
;
?>

<!--จบ recentTopics แบบ ssi_recentTopics2 แบบใส่ตาราง-->
</body>
</html>

วิธีใช้ : วาง iframe ในตำแหน่งที่เราต้องการให้มันโชว์
โค๊ด: [Select]
    <div align="center">
    <iframe src="Show_ssi_recentTopics2.php" frameBorder="0" width="100%" height="600px" scrolling="no"allowtransparency="true"></iframe>
    </div>

สิ่งที่ต้องแก้ไข :
1. <?php require("webboard/SSI.php"); ?> วางพาธไฟล์เรียก SSI.php ให้ถูกต้องตามเว็บของท่าน
2. <iframe src="Show_ssi_recentTopics2.php"  วางพาธไฟล์ที่ iframe เรียก Show_ssi_recentTopics2.php ให้ถูกต้องตามเว็บของท่าน
หรือใช้ <?php include("Show_ssi_recentTopics2.php"); ?> ก็ได้ ถ้าไม่ชอบแบบ Iframe เพราะยุ่งยากเรื่องพื้นหลังและความกว้างxยาว
3. เปลี่ยนบอร์ดที่ต้องการให้แสดงหรือไม่แสดงได้ตรงที่ array(4,5,6), array(1,2,3) ปล่อยว่าง array() มาทุกบอร์ด ผมทำตัวอย่างไว้2แบบ ให้เลือกใช้แบบใดแบบหนึ่ง  ตัวอย่างเช่น
ssi_recentTopics('10',array(4,5,6), array(),'array');  //4,5,6 คือกั้นบอร์ดที่ไม่ต้องการให้แสดง ที่เหลือปล่อยไว้เป็นต้น





หมายเหตุ เมื่อใส่ บอร์ดที่ไม่ให้แสดง array(4,5,6) นานๆไป Recent Topics มักจะลดจำนวนเหลือน้อยลงจนหายเกลี้ยง
อธิบายดังนี้ Recent Topics เป็นการนำบทความล่าสุดมาแสดงตามจำนวน เช่น จำนวนกระทู้ที่ต้องการให้แสดง 20 ถ้าสั่งให้แสดงทุกๆบอร์ด แม้ไม่มีกระทู้เข้ามาใหม่
บทความเก่าล่าสุดก็ยังแสดงอยู่ แต่ถ้าเมื่อไหร่มีคำสั่งให้ ไม่แสดงบอร์ดใดๆร่วมด้วย และบอร์ดที่ไม่ให้แสดงมีจำนวนกระทู้ใหม่มากกว่า บอร์ดที่แสดงในหน้ารวมกระทู้
จนมากขึ้นไปเรื่อยๆ จึงทำให้หน้ารวมกระทู้ Recent Topics ถูกลดจำนวนลงไปจนหายเกลี้ยง เพราะกระทู้ที่แสดงถูกแทนที่ด้วย20บทความใหม่ ที่ถูกไม่ให้แสดง หน้าจึงว่างเปล่า
    ยกตัวอย่าง array(4,5,6)บอร์ดที่จะไม่ให้แสดง สมุติว่าบอร์ดที่ 4,5,6 คือบอร์ดเกี่ยวกับให้ลงประกาศโฆษณาฟรี เราไม่ต้องการให้แสดงในหน้ารวมกระทู้ Recent Topics
เราให้ array(1,2,3)บอร์ดที่จะให้แสดง เป็นบอร์ดหลักที่ต้องการให้แสดงผลที่หน้ารวมกระทู้เท่านั้น แต่บังเอิญ บอร์ดหลักของเว็บเราดันมีบทความอัพเดทน้อยกว่าบอร์ดที่
ให้ลงประกาศโฆษณาฟรี จึงทำให้ บทความที่ลงประกาศโฆษณาฟรี มีจำนวนเพิ่มขึ้นเรื่อยๆจนเกินจำนวน 20 กระทู้ทีเราตั้งโชว์ไว้ ในเมื่อ Recent Topics ถูกให้โชว์กระทู้ล่าสุด
ที่ 20 กระทู้ แต่แล้ว บอร์ดที่ 4,5,6 คือบอร์ดเกี่ยวกับให้ลงประกาศโฆษณาฟรี กลับถูกงดให้แสดง ดังนั้นในหน้ารวมกระทู้ Recent Topics จึงไม่มีอะไรเหลือให้แสดงอีก
จนกว่าเราจะไปโพสท์บทความใหม่ๆ ของบอร์ดหลัก (1,2,3)บอร์ดที่จะให้แสดง เพิ่มกระทู้ใหม่ขึ้นมาจนมากกว่าบอร์ด ลงประกาศโฆษณาฟรี (บอร์ดที่จะไม่ให้แสดง) เมื่อนั้นจึงมี
บทความใหม่ๆแสดงให้เห็น นี่คือหลักของ Recent Post - Topics ถ้าต้องการแสดงแยกเดีี่ยวๆ แนะนำไม่ให้ใช้ Function Recent หรือถ้าจะใช้ต้องสั่งแสดงทุกบอร์ด
หรือไม่บอร์ดหลักของเราต้องมีกระทู้โพสท์ใหม่ๆ มากกว่าบอร์ดที่ไม่ต้องการให้แสดง





แบบที่3. ssi_recentTopics3 (แบบ Hot)

ดูตัวอย่าง : show_ssi_recenttopics3 (Hot)

[hide=3]
โค๊ด: [Select]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php require("webboard/SSI.php"); ?>
<html>
<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="900" >
<title>โชว์กระทู้์ล่าสุด smf2.0.2 | welovethailand.com</title>
<base target="_blank">
<style type="text/css">

body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #464646;}
a {font-size: 12px;color: #263875;}
a:link { color: #263875; text-decoration: none}
a:visited { color: #263875; text-decoration: none}
a:active { color: #FF9900; text-decoration: underline}
a:hover { color: #48A4FF; text-decoration: underline}
//td { height:15px}
.virep {color: #666666}
</style>
</head>

<body >
<!--เริ่ม recentTopics แบบ ssi_recentTopics3 -->
<?php
$welovetopic 
ssi_recentTopics('20',array(), array(),'array'); 
//20 จำนวนกระทู้ที่ต้องการให้แสดง , array(4,5,6)บอร์ดที่จะไม่ให้แสดง,  array(1,2,3)บอร์ดที่จะให้แสดง และปล่อยว่าง array() แสดงทุกบอร์ด
foreach ($welovetopic as $post)
{
echo '
<table border="0" width="100%">'
;
echo '
<tr>

<td>
<b><a href="'
$post['href'], '">'$post['subject'], '</a></b>
'
$txt['by'], ' '$post['poster']['link'], ' <span class="virep">['$txt['views'], ' '$post['views'],'] ['$txt['replies'], ' ',$post['replies'],']</span>
'
, !$post['is_new'] ? '' '<a href="' $scripturl '?topic=' $post['topic'] . '.msg' $post['new_from'] . ';topicseen#new" rel="nofollow"><img src="' $settings['lang_images_url'] . '/new.gif" alt="' $txt['new'] . '" /></a>''
</td>

<td align="right">['
$post['board']['link'], '] '$post['time'], '</td>

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

<!--จบ recentTopics แบบ ssi_recentTopics3 -->

</body>
</html>

การแก้ไขและการใช้งานก็แบบเดียวกันกับด้านบน สามารถเอาไปประยุคใช้แทน กระทู้เมื่อเร็วๆนี้ที่หน้าบอร์ดได้ แบบไม่มี Re:[/hide]

แบบที่4. ssi_recentTopics4  Full Table

ดูตัวอย่าง : show_ssi_recenttopics4 (Hot)
[hide=3]
โค๊ด: [Select]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php require("webboard/SSI.php"); ?>
<html>
<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="900" >
<title>โชว์กระทู้์ล่าสุด smf2.0.2 | welovethailand.com</title>
<base target="_blank">
<style type="text/css">

body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #464646;}
a {font-size: 12px;color: #263875;}
a:link { color: #263875; text-decoration: none}
a:visited { color: #263875; text-decoration: none}
a:active { color: #FF9900; text-decoration: underline}
a:hover { color: #48A4FF; text-decoration: underline}
//td { height:22px}
.virep {color: #666666}
</style>
</head>

<body >
<!--เริ่ม recentTopics แบบ ssi_recentTopics4 full table -->
<?php
$welovetopic 
ssi_recentTopics('20',array(), array(),'array'); 
//20 จำนวนกระทู้ที่ต้องการให้แสดง , array(4,5,6)บอร์ดที่จะไม่ให้แสดง,  array(1,2,3)บอร์ดที่จะให้แสดง และปล่อยว่าง array() แสดงทุกบอร์ด
foreach ($welovetopic as $post)
{
echo '
<table border="0" width="1024">'
;
echo '
<tr>
<td width="540">
<b><a href="'
$post['href'], '">'$post['subject'], '</a></b>
'
$txt['by'], ' '$post['poster']['link'], 
'
, !$post['is_new'] ? '' '<a href="' $scripturl '?topic=' $post['topic'] . '.msg' $post['new_from'] . ';topicseen#new" rel="nofollow"><img src="' $settings['lang_images_url'] . '/new.gif" alt="' $txt['new'] . '" /></a>''
</td>
<td width="124"align="right"><span class="virep">['
$txt['views'], ' '$post['views'],'] ['$txt['replies'], ' ',$post['replies'],']</span></td>

<td width="180"align="right">['
$post['board']['link'], ']</td> 
<td width="180"align="right">'
$post['time'], '</td>

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

<!--จบ recentTopics แบบ ssi_recentTopics4 full table-->

</body>
</html>

การแก้ไขการใช้งานก็แบบเดียวกันกับด้านบน สามารถเอาไปประยุคใช้แทน กระทู้เมื่อเร็วๆนี้ที่หน้าบอร์ดได้ แบบไม่มี Re:
***อธิบายเพิ่มเติม การปรับแต่ง***
ตาราง <table border="0" width="1024">';
ssi_recentTopics4 full table เป็นแบบตาราง 4 คอลัมน์ แต่ซ่อนไว้ด้วยการใส่ 0 ที่ border ถ้าต้องการให้แสดงตารางใส่ 1
ส่วนความกว้าง แต่ละบอร์ดไม่เหมือนกันให้เปลี่ยนที่ width="1024" ถ้าบอร์ดใดใช้เป็นแบบ เปอร์เซ็นต์ 100% ก็เปลี่ยนตามนั้น

คอลัมน์ <td width="540">
แต่ละคอลัมน์ ต้องเปลี่ยนให้สมพันธ์กันด้วย

การนำไปประยุคใช้งาน เนื่องจากผมใส่ตัวแปร $post ต่างๆไว้ครบชัดเจนหมดแล้ว
จึงสามารถเคลื่อนย้ายและตัดทิ้งตัวแปร $post ต่างๆได้ตามชอบใจดังนี้

หัวข้อ = ', $post['href'], '">', $post['subject'], '
โดย =  ', $txt['by'], ' ', $post['poster']['link'], '
Icon New = ', !$post['is_new'] ? '' : '<a href="' . $scripturl . '?topic=' . $post['topic'] . '.msg' . $post['new_from'] . ';topicseen#new" rel="nofollow"><img src="' . $settings['lang_images_url'] . '/new.gif" alt="' . $txt['new'] . '" /></a>', '
[อ่าน ] [ตอบ ] = [', $txt['views'], ' ', $post['views'],'] [', $txt['replies'], ' ',$post['replies'],']
ชื่อบอร์ด = [', $post['board']['link'], ']
วันเวลา = ', $post['time'], '

วิธีตัดคำให้สั้นลง
เปลี่ยนจาก ', $post['subject'],'
เป็น  ',mb_substr($post['subject'],0,30,'UTF-8'),'....
30 คือ จำนวนตัวอักษรที่ต้องการตัดคำให้แสดงเพียงเท่านั้น...

เพิ่มเติม การเพิ่ม icon ก่อนกระทู้  ให้แทรกคอลัมน์ <td width="15"> หลัง <tr>

นำโค้ดนี้ไปใส่
	
	
<
td width="15">
	
	
<
img src="' . $settings['images_url'] . '/icons/bb_icon.png" alt="' . $txt['new'] . '" /></a>
	
	
</
td>


แล้วอัพโหลดรูป icon bb_icon.png ไปไว้ที่ Themes/ธีมปัจจุบันที่ใช้/images/icons/icon bb_icon.png

หรือเติม icon ของบอร์ดโดยอัตโนมัติ
', $post['icon'], '
[/hide]

เพิ่มเติม
$post['preview']  แสดงรายละเอียด แสดงรายละเอียดได้สูงสุดที่ 128 ตัวเท่านั้น
$post['short_subject'] แสดงหัวข้อสั้นๆ แสดงหัวข้อสั้นๆสูงสุดที่  25 ตัวเท่านั้น

*หมายเหตุ สร้างขอบตรางสีฟ้าบน-ล่างแบบในตัวอย่าง*
[spoiler]สร้าง Show_iframe_ssi_recentTopics4.php ให้เป็นเสมือนหน้าเพจหลัก (home) ก่อนแล้วดึง iframe หรือ include โชว์ 10 กระทู้มาแสดงในหน้าเพจหลักอีกทีหนึ่ง
โค้ดดังนี้  Show_iframe_ssi_recentTopics4.php
โค๊ด: [Select]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>โชว์กระทู้์ล่าสุด smf2.0.2 | welovethailand.com</title>
<base target="_blank">
<style type="text/css">

.style1 {
font-family: Tahoma,Arial, Helvetica, sans-serif;
font-size: 14px;
color: #FFFFFF;
}
.style2 {
font-family: Tahoma,Arial, Helvetica, sans-serif;
margin-right: 10px;
text-align:right;
color: #FFFFFF;
}

</style>
</head>

<body>
<table width="1024" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF">
  <tr>
    <td height="30" bgcolor="#62A0FF"><div align="center" class="style1">โชว์กระทู้์ล่าสุด smf2.0.2 แบบ ssi_recentTopics 4 Full Table</div></td>
  </tr>
  <tr>
    <td>
    <div align="center">
        <?php include("Show_ssi_recentTopics4.php"); ?>
   <!-- <iframe src="Show_ssi_recentTopics4.php" frameBorder="0" width="100%" height="480px" scrolling="no"allowtransparency="true"></iframe>-->
    </div>
    </td>
  </tr>
  <tr>
    <td height="30" bgcolor="#62A0FF" ><div class="style1 style2">welovethailand.com</div></td>
  </tr>
</table>
</body>
</html>
สรุปแบบในตัวอย่างคือการสร้าง 2 เพจ  Show_iframe_ssi_recentTopics4.php คือหน้าหลักมีขอบตารางสีฟ้าบน-ล่างหน้านี้อาจเป็นหน้า homepage มีเมนู login-out ป้ายแบนเนอร์ต่างๆร่วมด้วยก็ได้นะครับ กับ Show_ssi_recentTopics4.php ดึงกระทู้ล่าสุดมาโชว์ร่วม[/spoiler]


วิธีการนำไปไว้ยังตำแหน่งต่างๆที่หน้าบอร์ดรวมกระทู้
โดยไม่ยุ่งเกี่ยวกับของเดิมที่มีอยู่ โปรดติดตามกระทู้ต่อไป

วิธีทำ Recent Topics กระทู้ล่าสุดแบบไม่มี Re: SMF2.0.2


หัวข้อล่าสุด แบบการเขียนเรียกไฟล์ดึงออกมาเองจากฐานข้อมูลโดยตรง เพื่อใส่ลูกเล่นต่างๆ เช่นจัดตารางได้ตามใจชอบฯล
เลือกบอร์ดได้ กำหนดจำนวนกระทู้ได้ มีหลายรูปแบบ พร้อมไฟล์ตกแต่ง CSS ดังนี้


แบบ List ทั่วๆไป


แบบ List และ Icon Image


แบบตาราง 3 คอลัมน์


แบบตาราง 5 คอลัมน์


แบบตารางสีฟ้า 5 คอลัมน์


[spoiler]
ดูตัวอย่าง : http://www.welovethailand.com/ShowTopics_index.php
นำโค้ดด้านบนมาประยุคใช้ได้เลย

พร้อมแสดงรูป http://www.welovethailand.com/show_reT_Img.php


  :^a12^: :^a11^: :^a6^:[/spoiler]

อื่นๆ
SMF โชว์ 10 กระทู้ล่าสุดแบบแยกบอร์ด ดึงจากฐานข้อมูล
วิธีทำ Recent Topics กระทู้ล่าสุดแบบไม่มี Re: SMF2.0.2
SMF วิธีดึงภาพแรกในกระทู้มาแสดง
[SMF] วิธีดึงภาพแรกในกระทู้มาแสดง พร้อมกระทู้และไฟล์แนบ
ดึงรูปจากไฟล์แนบมาแสดงหน้าแรก
« แก้ไขครั้งสุดท้าย: 2 ธันวาคม 2014, 10:54:29 โดย We Love Thailand »
สวัสดีคุณ...บุคคลทั่วไป กด Like ให้หรือยัง...
welovethailand.com welovethailand.net เรารักประเทศไทย.com

ออฟไลน์ ฟ้าใสไทยแลนด์

  • Newbie
  • *
  • กระทู้: 28
  • ชอบกด Like+ 7
  • เพศ: หญิง
  • ใช้งานล่าสุด :21 กุมภาพันธ์ 2016, 10:07:30
โห ! สุดยอดเลย หามานานแล้วแบบนี้นะ ปูเสื่อรอคนแรกเลย  :^a8^:
ลายเซ็น : ฟ้าใสๆ หัวใจไทยแลนด์

ออฟไลน์ laloso

  • Newbie
  • *
  • กระทู้: 5
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :10 ธันวาคม 2013, 20:09:47
  • Thanks You welovethailand.com
แบบที่1. ธรรมดาทั่วๆไป ที่ใช้ function จาก ssi_recentTopics


ถ้าแบบที่ 1 เราจะไม่เอา ชื่อหัวข้อของบอร์ดได้ไหมครับ ผม  :^7tax^:

ออฟไลน์ Maxzi

  • Global Mod
  • *
  • กระทู้: 101
  • ชอบกด Like+ 49
  • เพศ: ชาย
  • ใช้งานล่าสุด :30 ธันวาคม 2014, 18:30:11
ไม่ได้ครับ แบบนั้นต้องเขียนแยก เช่นแบที่2 หรือ แบบขั้น Ultimate

ออฟไลน์ laloso

  • Newbie
  • *
  • กระทู้: 5
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :10 ธันวาคม 2013, 20:09:47
  • Thanks You welovethailand.com
งั้นขอถามต่อครับ

ผมทำตามแบบ แบบที่1. ธรรมดาทั่วๆไป ที่ใช้ function จาก ssi_recentTopicsแล้วแต่ว่าเวลาเปิดจาก IE มันไม่เปิดหน้าใหม่ครับ
(target="_blank") แต่เปิดจาก Chrome และ Filefox มันสามารถคลิ๊กแล้วเปิดหน้าใหม่ได้ครับ

แต่ IE ไม่ได้ครับ

รอกวนดูให้ด้วยครับผม  :^7tax^:

ออฟไลน์ We Love Thailand

  • เรารักประเทศไทย
  • Administrator
  • *
  • กระทู้: 1,229
  • ชอบกด Like+ 844
  • เพศ: ชาย
  • ใช้งานล่าสุด :12 มกราคม 2018, 12:54:45
  • รับบอกรักประเทศไทย
    • SprinklerThailand สปริงเกอร์ไทยแลนด์
<base target="_blank">  เอาไปใส่ทั้ง2ส่วน
Show_ssi_recentTopics1.php และใน iframe ด้วย ผมใช้ IE8 ไปหมด
สวัสดีคุณ...บุคคลทั่วไป กด Like ให้หรือยัง...
welovethailand.com welovethailand.net เรารักประเทศไทย.com

ออฟไลน์ laloso

  • Newbie
  • *
  • กระทู้: 5
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :10 ธันวาคม 2013, 20:09:47
  • Thanks You welovethailand.com
<base target="_blank">  เอาไปใส่ทั้ง2ส่วน
Show_ssi_recentTopics1.php และใน iframe ด้วย ผมใช้ IE8 ไปหมด


ใส่แบบนี้ถูกไหมครับท่าน

iframe

<iframe src="http://board.com/shownews.php" name="newtopics"frameBorder="0" width="796" height="245" scrolling="yes"></iframe><base target="_blank">

  :^14ngng^: :^14ngng^:



shownews.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php require("/home/www/virtual/xxx.com/board/htdocs/SSI.php");?>
<html>
<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="900" >
<title>ข่าวล่าสุด</title>
<base target="_blank">
<style type="text/css">

body,td,th {
   font-family: Arial, Helvetica, sans-serif;
   font-size: 12px;
   color: #0066FF;}
a {font-size: 12px;color: #E79A0C;}
a:link { color: navy; text-decoration: none}
a:visited { color: #0000FF; text-decoration: none}
a:active { color: #FF9900; text-decoration: underline}
a:hover { color: Orange; text-decoration: underline}

.style1 {
   font-size: 16px;
   font-weight: bold;
   color: #79412a;
}
.style2 {color: #79412a}
</style>
</head>

<body >
<span class="style1">ข่าวล่าสุด</span>
<span class="style2">
<base target="_blank"><?php ssi_recentTopics($num_recent =10 , $exclude_boards = null, $include_boards = 13, $output_method = 'echo'); ?>
<!--หมายเลข 10 คือจำนวนที่จะเเสดง   /   เลข 1 คือ id ของบอร์ดหรือโซนที่จะเเสดง-->
</span>
</body>
</html>





 :^4thx^:
ลองดูแล้วแต่ก็ยังไม่เป็นผล ครับ ผมใช้ IE9 และ IE8 ทดสอบดูครับ
แต่ก็ยังไม่ได้ครับ ลบกวนแนะนำด้วยครับผม
:^7tax^:

ออฟไลน์ We Love Thailand

  • เรารักประเทศไทย
  • Administrator
  • *
  • กระทู้: 1,229
  • ชอบกด Like+ 844
  • เพศ: ชาย
  • ใช้งานล่าสุด :12 มกราคม 2018, 12:54:45
  • รับบอกรักประเทศไทย
    • SprinklerThailand สปริงเกอร์ไทยแลนด์
ลักษณะการวาง target คืออยู่ก่อน ปิด </Head >

ตัวอย่างไฟล์ที่เอา iframe ไปวางเพื่อต้องการให้แสดง
วาง <html> ตามปกติ แล้วเอา <base target="_blank"> ไปแทรกก่อนปิด </head> และควรใส่ CSS ด้วย วาง iframe ระหว่าง tag <body >...</body > ดังนี้
Show_iframe_ssi_recentTopics1.php
โค๊ด: [Select]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="900" >
<title>วิธีดึง10 กระทู้ล่าสุดแบบ ssi_recentTopics | welovethailand.com</title>
<base target="_blank">
<style type="text/css">

body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #0066FF;}
a {font-size: 12px;color: #E79A0C;}
a:link { color: navy; text-decoration: none}
a:visited { color: #0000FF; text-decoration: none}
a:active { color: #FF9900; text-decoration: underline}
a:hover { color: Orange; text-decoration: underline}

</style>
</head>
<body >

<div align="center">
<iframe src="Show_ssi_recentTopics1.php"  frameBorder="0" width="100%" height="225px" scrolling="no"allowtransparency="true"></iframe>
</div>

</body>
</html>

ในส่วนของท่านตรง iframe ไม่ต้องใส่ </iframe><base target="_blank">
ตัวไฟล์ shownews.php ของท่าน ด้านล่างในส่วน <?php ssi_recentTopics ไม่ต้องใส่ <base target="_blank"><?php ssi_recentTopics($num_recent =10 , $exclude_boards = null, $include_boards = 13, $output_method = 'echo'); ?>

ลองเอาลิงค์นี้ไปเปิดดูที่ IE ของท่านแล้วคลิกลิงค์ดูว่ามันเปิดหน้าใหม่ได้ใหม
http://www.welovethailand.com/Show_iframe_ssi_recentTopics1.php

***ในส่วน <meta http-equiv="refresh" content="900" >
900 คือเวลาที่จะ รีเฟรชหน้านั้นใหม่เพื่ออัพเดทการเปลี่ยนแปลงของกระทู้ใหม่ๆเข้ามา เปลี่ยนเวลาตามใจชอบ หรือถ้าไม่ต้องการให้ รีเฟรชหน้าบ่อยๆ ก็ลบทิ้งไปเลย
« แก้ไขครั้งสุดท้าย: 3 สิงหาคม 2012, 10:34:47 โดย We Love Thailand »
สวัสดีคุณ...บุคคลทั่วไป กด Like ให้หรือยัง...
welovethailand.com welovethailand.net เรารักประเทศไทย.com

ออฟไลน์ laloso

  • Newbie
  • *
  • กระทู้: 5
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :10 ธันวาคม 2013, 20:09:47
  • Thanks You welovethailand.com
ตอนนี้แก้เป็นแบบนี้แล้วครับ


iframe  ( ผมเอาไปใส่ใน Widgets ของ Wordpress ครับ )

โค๊ด: [Select]
<iframe src="http://board.com/shownews.php" name="newtopics"frameBorder="0" width="796" height="245" scrolling="yes"></iframe>
   


shownews.php

โค๊ด: [Select]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php require("/home/www/virtual/xxx.com/board/htdocs/SSI.php");?>
<html>
<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="900" >
<title>ข่าวล่าสุด</title>
<base target="_blank">
<style type="text/css">

body,td,th {
   font-family: Arial, Helvetica, sans-serif;
   font-size: 12px;
   color: #0066FF;}
a {font-size: 12px;color: #E79A0C;}
a:link { color: navy; text-decoration: none}
a:visited { color: #0000FF; text-decoration: none}
a:active { color: #FF9900; text-decoration: underline}
a:hover { color: Orange; text-decoration: underline}

.style1 {
   font-size: 16px;
   font-weight: bold;
   color: #79412a;
}
.style2 {color: #79412a}
</style>
</head>

<body >
<span class="style1">ข่าวล่าสุด</span>
<span class="style2">
<?php ssi_recentTopics($num_recent =10 $exclude_boards null$include_boards 13$output_method 'echo'); ?>
<!--หมายเลข 10 คือจำนวนที่จะเเสดง   /   เลข 1 คือ id ของบอร์ดหรือโซนที่จะเเสดง-->
</span>
</body>
</html>

ฝากดูด้วยครับผม ขอบคุณครับ :^4thx^:
« แก้ไขครั้งสุดท้าย: 4 สิงหาคม 2012, 22:17:49 โดย laloso »

ออฟไลน์ We Love Thailand

  • เรารักประเทศไทย
  • Administrator
  • *
  • กระทู้: 1,229
  • ชอบกด Like+ 844
  • เพศ: ชาย
  • ใช้งานล่าสุด :12 มกราคม 2018, 12:54:45
  • รับบอกรักประเทศไทย
    • SprinklerThailand สปริงเกอร์ไทยแลนด์
มันมาจากไฟล์ shownews.php ถ้าในไฟล์นี้มี <base target="_blank"> แล้ว ก็ลองดูที่

<?php require("/home/www/virtual/xxx.com/board/htdocs/SSI.php");?>

เปลี่ยนเป็น <?php require("SSI.php");?> เอาแค่นี้พอ

ไฟล์  <base target="_blank"> ใน shownews.php  ใส่เกินมาอันนึง เอาออกด้วยมันควรมีเพียงแค่อันเดียวพอ ตรงไหนก็ได้แต่ก่อนปิด </head>


***แก้ตั้งแต่โค้ดส่วนบนลงจนถึง <base target="_blank"> เอาด้านล่างไปใส่แทน***

โค๊ด: [Select]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php require("SSI.php"); ?>
<html>
<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="900" >
<title>ข่าวเชียงราย | เชียงรายร้อยแปด</title>
<base target="_blank">

ผมลองเอาโค้ด html ของท่านตัวที่อยู่ในเว็บมาใส่ก็ไม่ได้เหมือนกัน แต่ถ้าเอาโค้ดด้านบนของผมไปใส่ทับจะใช้ได้
ผมไล่ดูถ้าเปลี่ยนใส่ <html> เข้าไปใหม่จะใช้ได้ ถ้าใช้ <html> ตัวที่ท่านใช้รันอยู่จะไม่ได้ ดังนั้นลองเปลี่ยน <html> เข้าไปใหม่ดู เพราะมันมาจาก <html> ตัวเดียวจริงๆ งง เหมือนกัน


« แก้ไขครั้งสุดท้าย: 3 สิงหาคม 2012, 18:22:45 โดย We Love Thailand »
สวัสดีคุณ...บุคคลทั่วไป กด Like ให้หรือยัง...
welovethailand.com welovethailand.net เรารักประเทศไทย.com

ออฟไลน์ laloso

  • Newbie
  • *
  • กระทู้: 5
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :10 ธันวาคม 2013, 20:09:47
  • Thanks You welovethailand.com
ผมก็งงเหมือนกันครับ ขอบคุณมากๆครับ

เดียวผมลองไปถามเพื่อนดูก่อนครับผม  :^6thx^:

ออฟไลน์ NenaDesign

  • Jr. Member
  • **
  • กระทู้: 98
  • ชอบกด Like+ 13
  • ใช้งานล่าสุด :18 มกราคม 2016, 11:27:53
    • ของเล่นเสริมพัฒนาการ
ตามมาอ่าน ไว้จะลองทำนะคะ

+1 ขอบคุณมากค่ะ  :^6thx^:

ออฟไลน์ fantasiaz

  • Newbie
  • *
  • กระทู้: 2
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด : 4 สิงหาคม 2012, 00:32:36
  • Thanks You welovethailand.com
    • ดาวน์โหลดโปรแกรม
เยี่ยมไปเลย ครับกำลังหาอยู่

แล้วถ้าอยากติดตั้งแบบ Mod มีบ้างมั้ยครับ

ช่วยแนะนำที ผมมือใหม่

เว็บผม http://thaifinalfantasy.com เพิ่งหัดทำครับ

ออฟไลน์ We Love Thailand

  • เรารักประเทศไทย
  • Administrator
  • *
  • กระทู้: 1,229
  • ชอบกด Like+ 844
  • เพศ: ชาย
  • ใช้งานล่าสุด :12 มกราคม 2018, 12:54:45
  • รับบอกรักประเทศไทย
    • SprinklerThailand สปริงเกอร์ไทยแลนด์
แบบ mod ไม่มีครับ เนื่องจากเป็นการเอาไว้นอกบอร์ด
สวัสดีคุณ...บุคคลทั่วไป กด Like ให้หรือยัง...
welovethailand.com welovethailand.net เรารักประเทศไทย.com

ออฟไลน์ missworld

  • Newbie
  • *
  • กระทู้: 40
  • ชอบกด Like+ 2
  • เพศ: ชาย
  • ใช้งานล่าสุด : 8 มิถุนายน 2018, 18:23:20
  • Thanks You welovethailand.com