Smf 2.0.x
index.tem.php
ค้นหา ?> (บรรทัดสุดท้าย)
เพิ่มโค้ดนี้ไว้ก่อนที่ค้นหา
function findIMG($text){
preg_match_all('/\[img\].*?\[\/img\]/i',$text,$page);
foreach($page as $value)
$src = substr($value[0],5);
$src = substr($src,0,-6);
return($src);
}
function ssi_pic($num_top = 12,$order,$board){
global $db_prefix, $scripturl, $smcFunc;
$request = $smcFunc[‘db_query’](”, ‘
SELECT t.id_topic,m.body,m.subject
FROM {db_prefix}messages m,{db_prefix}topics t
WHERE t.id_first_msg=m.id_msg AND t.id_board=’.$board.’
ORDER BY t.’.$order.’ DESC
LIMIT ‘.$num_top,
array(
)
);
$posts = array();
while ($row = $smcFunc[‘db_fetch_assoc’]($request))
{
// Build the array.
$topics[] = array(
‘id’ => $row[‘id_topic’],
‘body’ => $row[‘body’],
‘subject’ => $row[‘subject’]
);
}
$smcFunc[‘db_free_result’]($request);
foreach ($topics as $data){
$topic = “topic/”.$data[‘id’];
$srcPic = findIMG($data[‘body’]);
$subject = $data[‘subject’];
if($srcPic ==”){
echo ‘<div class=”boxpGal”>
<div class=”picpGal”><a href=”‘.$topic.'” title=”‘.$subject.'” target=”_blank”><img src=”http://insurancethai.net/wp-content/themes/insurancecenter/images/logo.png” width=”150″ height=”180″ alt=”” /></a></div>
</div>’;
}else{
echo ‘<div class=”boxpGal”>
<div class=”picpGal”><a href=”‘.$topic.'” title=”‘.$subject.'” target=”_blank”><img src=”‘.$srcPic.'” width=”150″ height=”180″ alt=”” /></a></div>
</div>’;
}
}
}
เปิดไฟล์ที่ต้องการเอาในส่วนดึงรูปไปแสดง หาต่ำแหน่งแล้ววางโค้ดนี้ลงไป
**สมมุติผมอยากให้ดึงไปแสดงหน้าเว็บบอร์ดของ smf ผมก็ต้องเอาโค้ตด้านล่างไปวางในไฟล์ Board.tem.php
echo'<div class="cat_bar">
<h3 class="catbg">ดึงรูปมาแสดงโอ๊ววววว</h3></div>';
echo''.ssi_pic(6,'ID_TOPIC',34).'';
** 6 คือ จำนวนรูปที่จะดึงมาแสดง
** 34 คือ เลขบอร์ดที่ต้องการดึงรูป
index.css
.boxpGal {
background-color: rgba(255, 255, 255, 0);
float: left;
height: 180;
width: 150px;
margin: 5px;
}
more
http://www.thaiseoboard.com/index.php?topic=186333.0
http://www.thaiseoboard.com/index.php?topic=141313.0
http://www.welovethailand.com/webboard/index.php/topic,4532.15.html
http://www.thaiseoboard.com/index.php?topic=278341.0
ถ้าต้องการดึงรายละเอียดข้อมูล เนื้อหา มาแสดง
ค้นหา (จากไฟล์ต้นฉบับด้านบน)
$srcPic = findIMG($num['body']);
วางก่อนหน้าที่หา
$detail =$num['body'];
เอาโค้ดด้านล่างไปวางยังตำแน่งที่ต้องการให้แสดงเนื้อหาออกมา (วางในส่วนเดียวกับที่พวก “. $title.” อยู่ )
".$detail."
* โค้ดด้านบนยังไม่มีฟังก์ชั่นในการตัด tag BBC ออก และยังไม่มีฟังก์ชั่นตัดคำให้สั้นลง*
เนื่องจากรูปแต่ละรูปที่โพสต์มามันไม่เท่ากัน หากผู้โพสต์สามารถกำหนดความ กxย. ของรูปภาพให้เท่ากันได้ทุกๆภาพ ก็สามารถแก้ไขสัดส่วนจากตำแหน่งนี้ให้สมสัดส่วนได้
<img src='”.$srcPic.” ‘ width=’120′ height=’80’>
แต่ถ้าไม่ได้ก็ต้องใช้วิธี crop เอา เช่นตั้งไว้ที่ 80 หากเกินกว่านี้ใช้ overflow:hidden; ใช้ css
<style type="text/css">
.image-crop{width:120px; height:80px;overflow:hidden;border: 1px #ccc dotted; padding:1px;}
</style>
<div class=”image-crop”>
<img src=’ “.$srcPic.” ‘ >
</div>
ไฟล์ index.template.php ธีมที่ใช้
หา
// Show the menu up top. Something like [home] [help] [profile] [logout]...
ใส่โค้ดนี้ก่อนหน้าที่หา
function findIMG($text){
if (preg_match_all('/\[img\].*?\[\/img\]/i',$text,$page)){
foreach($page as $value)
$src = substr($value[0],5);
$src = substr($src,0,-6);
return($src);}
if (preg_match_all('/\[img width=\d{3} height=\d{3}\].*?\[\/img\]/i',$text,$page)){
foreach($page as $value)
$src = substr($value[0],26);
$src = substr($src,0,-6);
return($src);}
}
//Messages.tem.php Pic
function pic_show($topic,$w,$h){
global $db_prefix, $scripturl, $smcFunc, $settings, $txt;
$request = $smcFunc[‘db_query’](”, ‘
SELECT t.id_topic,m.body,m.subject,m.id_msg
FROM {db_prefix}messages m,{db_prefix}topics t
WHERE t.id_first_msg=m.id_msg AND t.id_topic=’.$topic.’
LIMIT 1′,
array(
)
);
$posts = array();
$url_board = $scripturl.”?board=”.$board;
while ($row = $smcFunc[‘db_fetch_assoc’]($request))
{
$topic = $scripturl.”?topic=”.$row[‘id_topic’];
$srcIMG = findIMG($row[‘body’]);
$subject = $row[‘subject’];
echo'<div>’;
echo'<a href=”‘.$topic.'” target=”_blank”><img alt=”” class=”img_fade” ‘;
if(!empty($srcIMG))
echo ‘src=”‘.$srcIMG.'” ‘;
else
echo’src=”‘, $settings[‘images_url’], ‘/no_image.png” ‘;
echo’width=”‘.$w.'” height=”‘.$h.'” >
‘;
echo'<>’;
}
$smcFunc[‘db_free_result’]($request);
}
ไฟล์ MessageIndex.template.php
หา
<img src="', $topic['first_post']['icon_url'], '" alt="" />
แทนที่ด้วย
'; pic_show($topic['id'],80,80);
echo'