[SMF]วิธีดึงภาพแรกในกระทู้

เริ่มโดย ganginwpop, 08 เมษายน 2011, 22:50:42

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

javo

อ้างถึงจาก: koncept ใน 19 กุมภาพันธ์ 2013, 16:19:27
+ เพิ่ม รายละเอียดของกระทู้นั้น ยังไงคับ  คือ มีรูปแล้วเอาเอารายละเอียดของกระทู้ไปโชว์ด้วย..

รายละเอียดหมายถึง เนื้อหาในกระทู้รึเปล่าครับ ถ้าใช่ ก็ต้องดึงมาจาก tag body ครับ แต่จะยุ่งยากหน่อย ต้องมาตัดเอาอีกทีครับ
ขอบคุณไทยเสียวครับ

flyon29

รบกวนถามหน่อยครับ คือรูปในกระทู้ผมมีบางส่วนที่เป็นแบบนี้
[img width=800 height=500]xxxxxx[/img]

ผมลอง อันข้างล่างแล้วมันไม่ได้อ่ะครับ ผมใช้ SMF 2.0 ใครรู้รบกวนด้วยครับ ขอบคุณล่วงหน้าครับ  :wanwan017:
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);}
}

koncept

อ้างถึงจาก: javo ใน 21 กุมภาพันธ์ 2013, 00:32:12
อ้างถึงจาก: koncept ใน 19 กุมภาพันธ์ 2013, 16:19:27
+ เพิ่ม รายละเอียดของกระทู้นั้น ยังไงคับ  คือ มีรูปแล้วเอาเอารายละเอียดของกระทู้ไปโชว์ด้วย..

รายละเอียดหมายถึง เนื้อหาในกระทู้รึเปล่าครับ ถ้าใช่ ก็ต้องดึงมาจาก tag body ครับ แต่จะยุ่งยากหน่อย ต้องมาตัดเอาอีกทีครับ

แบบนั้นเลยคับผม

triple_t

อยากทำบ้าง อ่านๆแล้วงง สรุปไม่ได้ว่ายังไง

ผมใช้ smf2.0.2 ครับ ขอท่านผู้รู้สรุปให้หน่อย ว่าทำอย่างไร กับไฟล์ใหน ใช้ยังไง เพราะงงมากมายเลย  :(
อยากมีเก๋งขับไหม ลอง [direct=http://www.civicfcclub.com] all new civic 2016[/direct] เลย แต่คนรุ่นใหม่ต้อง eco car sedan [direct=http://www.yarisativclub.com] yaris ativ[/direct] มาขับ ทำงานเสริม [direct=http://www.mittareinsure.com]ประกันภัยรถ[/direct] ก็ต้องมี [direct=http://www.alexautoshop.com]ซองหนังแท้ รีโมทรถ[/direct] ไว้ใส่รีโมท แล้วมี[direct=http://www.ysocketshop.com]ปลั๊กปลดล็อคจอ[/direct] ให้ดูหนังได้

nut_anek

เอาง่ายๆเลยนะครับ

ขั้นแรกเปิดไฟล์ index.template.php ของธีมขึ้นมา

ต่อมาหา
?>

นำโค้ดนี้ไปวางก่อนหน้าที่หา (สำหรับ 2.0.x)

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 = "forum/?topic,".$data['id'];
$srcPic = findIMG($data['body']);
$subject = $data['subject'];
echo '<div class="boxpGal">
<div class="picpGal"><a href="'.$srcPic.'" title="คริกเพื่อดูภาพเต็ม."><img src="'.$srcPic.'" width="150" alt="" /></a></div><center>'.mb_substr($subject,0,25,'UTF-8').'</center>
<div class="viewAllpic"><a href="'.$topic.'" target="_blank">More info</a></div>   
</div>';
}
}



จากนั้นก็เปิดไฟล์ BoardIndex.template.php หรือ อันอื่นก็ได้ แต่อันนี้มันจะโชว์หน้าแรกเลย
แล้วก็วางโค้ดนี้ไว้ตรงไหนก็ได้ที่อยากวางที่ไม่ได้อยู่ใน echo'';

ssi_pic(20,'ID_TOPIC',4)

แต่ถ้าวางใน echo'';
ต้องเปลี่ยนเช่น
echo''.ssi_pic(20,'ID_TOPIC',4).'';
[direct=https://www.indytheme.com/themes/smart-variety][/direct][direct=https://www.indytheme.com/themes/indymall][/direct]
[direct=https://www.indytheme.com]ธีม wordpress สวย ถูก และมีคุณภาพ[/direct]
[direct=https://www.indytheme.com/themes/smart-variety]ส่วนลด 10% บาท เพียงกรอกโค้ด THAISEO10 สำหรับชาว ThaiSeo เท่านั้น[/direct]

warn_cm

[direct=http://www.inlovekorea.com]Skinfood[/direct] | [direct=http://www.beautyhitshop.com]NEW BODY[/direct] |

kradanboon

ขอบคุณมากครับ สำหรับกระทู้ดี ๆ
จังหวัดเพชรบูรณ์ www.PHETCHABUN.website

kanakita

#127
หลายคนอาจงงนะคับการจัด css + html จริงๆมันก็เหมือนทำ css ใน ดรีมแบบง่ายๆแหละคับตัวอย่างนะคับในไฟล์ที่คุณจะเรียกใช้งานตัวสคิปลองใช้ css ง่ายๆตามนี้ครับ

อ้างถึง<style type="text/css">
#boxpGal {
   background-color: #999;
   float: left;
   height: 100px;
   width: 150px;
   margin: 5px;
}
</style>

จัดความกว้างความสูงตามแต่ใจต้องการเอาเองนะคับส่วนไฟล์อื่นๆทำตามที่ท่าน จขกท แนะนำนะคับการใช้งานจะอยู่ในไฟล์ SSI สังเกตุที่ <div id="boxpGall"> นี่คือตัวเรียกใช้งานตัว css
ที่เราต้องการโดยเรียกใช้การทำงานของ float : left ครับ แล้วมันก็จะเรียงตามแนวนอน ^^ ลองทำกันดูครับ


อ้างถึงecho '<div id="boxpGal" class="boxpGal">
         <div class="picpGal"><a href="'.$srcPic.'" title="คริกเพื่อดูภาพเต็ม."><img src="'.$srcPic.'" width="150" alt="" /></a></div><center>'.mb_substr($subject,0,25,'UTF-8').'</center>
         <div class="viewAllpic"><a href="'.$topic.'" target="_blank">More info</a></div>  
      </div>';

benzabza



ssi_pic(20,'ID_TOPIC',4)

แต่ถ้าวางใน echo'';
ต้องเปลี่ยนเช่น
echo''.ssi_pic(20,'ID_TOPIC',4).'';
[/quote]

สอบถามต่อครับถ้าเราต้องการดึงมากกว่า 1 ID_Topic ต้องทำไงครับ เพราะตอนนี้ลอง
echo''.ssi_pic(20,'ID_TOPIC',array(1,2,3,4).'';

แต่ไม่ออกครับ

7one011

อ้างถึงจาก: ganginwpop ใน 09 เมษายน 2011, 01:46:27
อันไหนไม่มีรูปให้ืำงี้ครับ

หา
$srcPic = findIMG($data['body']);
เพิ่ม
if(empty($srcPic))
$srcPic = 'http://yourdomain/logo.jpg';

ไสยังไงคับผม ไม่ได้

7one011

อ้างถึงจาก: kanakita ใน 13 มิถุนายน 2013, 14:47:43
หลายคนอาจงงนะคับการจัด css + html จริงๆมันก็เหมือนทำ css ใน ดรีมแบบง่ายๆแหละคับตัวอย่างนะคับในไฟล์ที่คุณจะเรียกใช้งานตัวสคิปลองใช้ css ง่ายๆตามนี้ครับ

อ้างถึง<style type="text/css">
#boxpGal {
   background-color: #999;
   float: left;
   height: 100px;
   width: 150px;
   margin: 5px;
}
</style>

จัดความกว้างความสูงตามแต่ใจต้องการเอาเองนะคับส่วนไฟล์อื่นๆทำตามที่ท่าน จขกท แนะนำนะคับการใช้งานจะอยู่ในไฟล์ SSI สังเกตุที่ <div id="boxpGall"> นี่คือตัวเรียกใช้งานตัว css
ที่เราต้องการโดยเรียกใช้การทำงานของ float : left ครับ แล้วมันก็จะเรียงตามแนวนอน ^^ ลองทำกันดูครับ


อ้างถึงecho '<div id="boxpGal" class="boxpGal">
         <div class="picpGal"><a href="'.$srcPic.'" title="คริกเพื่อดูภาพเต็ม."><img src="'.$srcPic.'" width="150" alt="" /></a></div><center>'.mb_substr($subject,0,25,'UTF-8').'</center>
         <div class="viewAllpic"><a href="'.$topic.'" target="_blank">More info</a></div>  
      </div>';

style type นี้ต้องเอาไปใสใน .css ถูกต้องไม?คับ

nitikon101

รบกวนสอบถามคือผมไม่ได้เรียนมามืดตึ๊บ
   ผมอยากแชร์กระทู้ลงในเฟสแล้วให้มันดึงภาพแรกของกระทู้ลงโชว์เฟส ผมต้องใส่โค๊ดอะไรดึงภาพครับ ใน  <meta property="og:image" content="     ">

เซิสหาวิธีมาเป็นเดือนยังมืดตึ๊บทำไม่ได้ SMF 1.1.21