หัวข้อ: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: zeelacul ที่ 29 ตุลาคม 2015, 09:19:04 เนื่องจากพยายามมาหลายวันแล้ว ต้องขอบคุณทุกคนที่แสดงความเห็นน่ะครับ
ก่อนอื่น เลย ลองค้นหา แล้วมเจอลิงห์นี้ครับ http://www.thaiseoboard.com/index.php?action=printpage;topic=355815.0 Smf 2.0.x boardindex.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://www.post-nook.com/forum/Themes/default/images/NO_IMAGE.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>'; } } } แล้วทำการแทรก ในไฟล์เดียวกัน ตรงบริเวณที่ต้องการครับ echo'<div class="cat_bar"> <h3 class="catbg">ดึงรูปมาแสดงโอ๊ววววว</h3></div>'; echo''.ssi_pic(6,'ID_TOPIC',34).''; ตรงนี้ http://www.post-nook.com/forum/Themes/default/images/NO_IMAGE.png ได้ทำเปลี่ยนเป็นเวปของเราแล้วครับ รูปขึ้นครับ แต่เป็นรูปที่เซตได้เฉพาะลิงห์นี้ ไม่เปลี่ยนตามไฟล์ แนบของบอร์ดครับ คำถามครับ 1.จะเปลี่ยนเป็นรูปภาพที่เปลี่ยนตามกระทู้ที่ได้ตั้งได้อย่างไรครับ 2. echo''.ssi_pic(6,'ID_TOPIC',34).''; ตรงนี้ ได้ทำเปลี่ยนเป็น Category ที่ได้ตั้งไว้แล้ว ซึ่งได้แค่ Category เดียว อยากเพิ่ม ต้องทำอย่างไรครับ ขอบคุณมากครับ หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: SWOY ที่ 29 ตุลาคม 2015, 09:40:52 ข้อ 1. เท่าที่ดูจากโค้ด ระบบจะดึงภาพในกระทู้มานะครับ (ไม่ใช่ไฟล์แนบ) ฉนั้น ในกระทู้ต้องมีรูปภาพครับ
ข้อ 2. แก้ไขตามด้านล่างนี้ โค๊ด: function ssi_pic($num_top = 12,$order,$board = array()){ การเรียกใช้งานก็ตามนี้ครับ โค๊ด: echo'<div class="cat_bar"> 34,35,36 คือไอดีของบอร์ดที่ต้องการดึงมาแสดงครับ ปล. อันนี้ผมยังไม่ได้ลองนะครับ :P หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: MaMa.Killer ที่ 29 ตุลาคม 2015, 10:27:31 http://demo.jubmeng.com/smf/index.php
ก็ได้ปกตินะครับ ในกระทู้ต้องใช้ภาพโดยใช้โค้ด ไม่ใช่ไฟล์แนบนะครับ โค๊ด: [img]URL[/img] ดู URL ตรงนี้ด้วยครับ $topic = "topic/".$data['id']; $topic = "index.php?topic=".$data['id'].".0"; หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: raykung ที่ 29 ตุลาคม 2015, 10:49:52 มีคนตอบแล้ว ผมมาอธิบายเพิ่มเติมให้ละกัน เผื่อมีใครเอาไปใช้อีก :wanwan019:
ฟังก์ชั่น findIMG ใช้ดึงภาพจาก tag ของ [ img]..[ /img] แรกของกระทู้นั้นๆ ครับ (ดึงภาพแรกของกระทู้) โดยดึงจากข้อความในส่วนของ body นะ มันจะแยกให้ว่าภาพแรกของกระทู้คือลิงก์อะไรโดยใช้คำสั่ง preg_match_all แต่ฟังก์ชั่นนี้มันมี bug อยู่ตรงที่ tag ของ [ img] มันใส่ parameter เพิ่มเติมได้เช่น alt, width, height เช่น [ img width="80"]..[ /img] มันจะใช้งานกับฟังก์ชั่น findIMG ไม่ได้ ส่วนฟังก์ชั่น ssi_pic ถ้าคุณกำหนด Order โดย 'ID_TOPIC' จะเป็นการดึงกระทู้ล่าสุดของ Board ที่เลือกมา แล้วก็วนลูปไปเอา Id, รูป, ชื่อกระทู้ มาแสดง แต่ถ้าในกระทู้นั้นไม่มีรูปอยู่ (ไม่มีการใช้งาน [ img]...[ /img]) มันจะไปเอารูป http://www.post-nook.com/forum/Themes/default/images/NO_IMAGE.png มาแสดงแทน หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: zeelacul ที่ 29 ตุลาคม 2015, 14:24:17 ขอบคุณทุกความเห็นครับ
รูปขึ้นแล้วคับ ตามกระทู้ที่โพสต์เลยครับ ใช่ครับ ไม่ได้ใช้ไฟล์แนบ ใช้ BB Code เวปฝากรูปแทนครับ และอีกหนึ่งปัญหา ข้อความ หัวข้อโพสต์ ไม่ขึ้นหง่ะคับ ขึ้นแต่รูปครับ แก้ไขอย่างไรครับ หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: MaMa.Killer ที่ 29 ตุลาคม 2015, 15:41:52 <a href="'.$topic.'" title="'.$subject.'" target="_blank"><img src="'.$srcPic.'" width="150" height="180" alt="" /><p>'.$subject.'</p></a>
หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: zeelacul ที่ 29 ตุลาคม 2015, 19:32:24 <a href="'.$topic.'" title="'.$subject.'" target="_blank"><img src="'.$srcPic.'" width="150" height="180" alt="" /><p>'.$subject.'</p></a> ขอบคุณครับ ที่ช่วยครับ หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: super18xxx ที่ 29 ตุลาคม 2015, 19:40:56 ขอโค้ดที่ท่านแก้ไขล่าสุดได้ไหมครับ ผมทำไม่เป็น อิอิ :-[
หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: zeelacul ที่ 29 ตุลาคม 2015, 19:44:42 ขอโค้ดที่ท่านแก้ไขล่าสุดได้ไหมครับ ผมทำไม่เป็น อิอิ :-[ ไฟล์ BoardIndex.template.php ครับผม เวอร์ชั่น 2.0.11 แทรกไว้ก่อน ?> 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 = "index.php?topic=".$data['id'].".0"; $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://เวปของคุณ/Themes/default/images/noimage.jpg" width="220" height="146" alt="" /><p>'.$subject.'</p></a></div> </div>'; }else{ echo '<div class="boxpGal"> <div class="picpGal"><a href="'.$topic.'" title="'.$subject.'" target="_blank"><img src="'.$srcPic.'" width="220" height="146" alt="" /><p>'.$subject.'</p></a></div> </div>'; } } } ส่วนโค๊ดนี้ ไฟล์เดียวกันครับ แทรกไว้ตรงที่อยากจะแทรกครับ echo'<div class="cat_bar"> <h3 class="catbg">สินค้า และ ร้านค้าใหม่ ล่าสุด</h3></div>'; echo''.ssi_pic(16,'ID_TOPIC',1.0).''; 16 คือรูปหรือโพสต์ที่อยากให้โชว์ในหน้าแรกครับ ส่วน 1.0 .ให้แก้ไขตามคุณ SWOY ที่โพสต์ไว้ก่อนน่ะครับ (ผมยังไม่ได้ลองน่ะครับ ว่า ใช้ได้หรือไม่ครับ และใน ไฟล์ index.css (ในธีมที่คุณใช้อยู่ครับ) ต่อท้ายเลยครับ .boxpGal { background-color: rgba(255, 255, 255, 0); float: left; height: 180; width: 150px; margin: 5px; } หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: zeelacul ที่ 30 ตุลาคม 2015, 12:45:19 ขอบคุณในคอมเม้นท์ทั้งหมดที่ช่วยเหลือน่ะครับ เหลืออีกแค่หน่อยครับ กระดาน มันล้นขอบครับ ต้องแก้ไขตรงไหนครับ ทดสอบแล้ว เป็นเฉพาะ firefox ครับ
ใช่ไฟล์ index.css หรือเปล่าครับ ผมใช้โค๊ดนี้ ในขณะนี้ครับ .boxpGal { background-color: rgba(255, 255, 255, 0); float: left; height: 155px; width: auto; margin: 12px; } ส่วนไฟล์ ก็ใช้ โค๊ด ด้านบนครับ (http://i.imgur.com/F8QyERI.jpg) หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: Talontour ที่ 30 ตุลาคม 2015, 13:22:32 .boxpGal{
background-color: #ffffff; padding:3px; float:left; width:174px; height:180px; } .picpGal{ padding:2px; height:130px; overflow:hidden; border:1px #CCC dotted; } ลองใล่ปรับดูนะครับ อันนี้ที่ผมปรับ (http://i.imgur.com/OlFZ2dL.png?1) หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: mosmf ที่ 30 ตุลาคม 2015, 13:54:29 ความรู้ดีๆ ขอบคุณครับ :wanwan017:
หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: goodwide ที่ 30 ตุลาคม 2015, 16:04:49 :wanwan017:
ตามมาเก็บครับ หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: Auto Tech ที่ 01 มีนาคม 2020, 11:55:20 ลองนำไปใส่ในเว็บแต่เดิมใช้ smf 2.0.11 ปัจจุบันอับเกรดเป็น 2.0.13
แจ้งเออเรอร์นี้ครับ (http://upic.me/i/hr/h2001.jpg) แก้ยังไงหนอ... ลองนำใส่ใน smf 2.0.17 เออเรอร์คล้ายๆ กัน (http://upic.me/i/hj/001smf2.0.17.jpg) หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: Auto Tech ที่ 01 มีนาคม 2020, 16:31:20 ใกล้ความจริงแล้ว แต่ว่ากระทู้เร็วๆ นี้ไปต่อด้านข้างภาพ ทำไงจะให้แยกขึ้นบรรทัดใหม่
(http://upic.me/i/g4/0w002.jpg) หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: romance69 ที่ 01 มีนาคม 2020, 18:32:21 ใกล้ความจริงแล้ว แต่ว่ากระทู้เร็วๆ นี้ไปต่อด้านข้างภาพ ทำไงจะให้แยกขึ้นบรรทัดใหม่ ([url]http://upic.me/i/g4/0w002.jpg[/url]) ตรวจพวก div, table ฯลฯ ดูดีๆ ครับว่าปิดครบทุก tag หรือเปล่า หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: Auto Tech ที่ 08 มีนาคม 2020, 13:49:02 ขอบพระคุณท่าน romance69 ที่ชี้แนวทางครับ ไล่หาแล้วไม่เจอครับ มันต่อกันอย่างนั้นเอาจะแทรกโค๊ดอะไร ให้หัวข้อข่าวขึ้นบรรทัดใหม่
เลยจำใจต้องย้ายไปวางต่อท้ายหัวข้อข่าวแทน จึงอยากจะนำโค๊ดไปใส่ในมอด Ad Management ซึ่งจะทำให้เราสะดวกมากเลยในการกำหนดจุด ที่จะดึงภาพมาวาง ไม่รู้จะสามารถทำได้ไหม (http://2.bp.blogspot.com/-1-1ahYxeXNM/Vmvr4gqnpXI/AAAAAAAAAcE/-VVuYGIJtHM/s1600/adssmf1.jpg) ขอบคุณล่วงหน้าครับ หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: romance69 ที่ 08 มีนาคม 2020, 16:39:10 ขอบพระคุณท่าน romance69 ที่ชี้แนวทางครับ ไล่หาแล้วไม่เจอครับ มันต่อกันอย่างนั้นเอาจะแทรกโค๊ดอะไร ให้หัวข้อข่าวขึ้นบรรทัดใหม่ เลยจำใจต้องย้ายไปวางต่อท้ายหัวข้อข่าวแทน จึงอยากจะนำโค๊ดไปใส่ในมอด Ad Management ซึ่งจะทำให้เราสะดวกมากเลยในการกำหนดจุด ที่จะดึงภาพมาวาง ไม่รู้จะสามารถทำได้ไหม ([url]http://2.bp.blogspot.com/-1-1ahYxeXNM/Vmvr4gqnpXI/AAAAAAAAAcE/-VVuYGIJtHM/s1600/adssmf1.jpg[/url]) ขอบคุณล่วงหน้าครับ เขียนแยกไฟล์แล้วดึงผ่าน iframe มาแสดงครับ สร้างไฟล์ใหม่ขึ้นมา แล้ว include 'SSI.php'; ตาม path เช่นสร้าวไฟล์ new-topic.php <?php include 'SSI.php'; โค้ดต่างๆ ............... ?> เวลาเรียกใช้งานก็ <iframe src="doamin[dot]com/new-topic.php"></iframe> เป็นต้นครับ หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: Auto Tech ที่ 09 มีนาคม 2020, 03:08:48 เข้ามาอ่านแล้วก็เงียบหายไป เพราะว่าต้องกลับไปทดลอง บางครั้งมีทบทวนเรื่องภาษา PHP
ลองผิดลองถูกเพื่อจะได้เกิดประสบการณ์ครับ ลองทำตามคำแนะนำกระทู้ด้านบน แต่ไม่มั่นใจ ทำได้ถูกต้องไหม เพราะว่ามีเออเรอร์ขึ้นครับ สร้างไฟล์ใหม่ชื่อว่า new-ad.php ใส่โค๊ดตามนี้ โค๊ด: <? ส่วนที่เรียกใช้งานแทรกโค๊ด iFrame ประมาณนี้ โค๊ด: <iframe src="https://car.auto-nkp.com/new-ad.php"></iframe> นำไปแทรกในไฟล์ Boardindex.template.php ขึ้นเออเรอร์ syntax error, unexpected '<' ทีนี้ไปไม่เป็นเลย วานผู้รู้ชี้แนะครับ ขอบคุณล่วงหน้าครับ หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: My rocket ที่ 09 มีนาคม 2020, 07:46:53 เมื่อมีปัญหาฯ
สมาชิกThaiseoboard ไม่เคยทิ้งกันเลยยย ปลื้มมมมม :-[ หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: romance69 ที่ 09 มีนาคม 2020, 14:01:57 เข้ามาอ่านแล้วก็เงียบหายไป เพราะว่าต้องกลับไปทดลอง บางครั้งมีทบทวนเรื่องภาษา PHP ลองผิดลองถูกเพื่อจะได้เกิดประสบการณ์ครับ ลองทำตามคำแนะนำกระทู้ด้านบน แต่ไม่มั่นใจ ทำได้ถูกต้องไหม เพราะว่ามีเออเรอร์ขึ้นครับ สร้างไฟล์ใหม่ชื่อว่า new-ad.php ใส่โค๊ดตามนี้ โค๊ด: <? ส่วนที่เรียกใช้งานแทรกโค๊ด iFrame ประมาณนี้ โค๊ด: <iframe src="https://car.auto-nkp.com/new-ad.php"></iframe> นำไปแทรกในไฟล์ Boardindex.template.php ขึ้นเออเรอร์ syntax error, unexpected '<' ทีนี้ไปไม่เป็นเลย วานผู้รู้ชี้แนะครับ ขอบคุณล่วงหน้าครับ โค้ด โค๊ด: <?php ส่วนถ้าจะเอาไปใส่ในไฟล์ boardIndex.template.php ก็ใส่ประมาณนี้ echo '<iframe src="https://car.auto-nkp.com/new-ad.php"></iframe>'; เออเร่อแจ้งมาว่า syntax error, unexpected น่าจะมีการปิดแท็กหรือพลาดตรงใส่ ฟันหนูไม่ครบครับ เช่น echo '> แบบนี้ หรือ ฯลฯ หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: Auto Tech ที่ 09 มีนาคม 2020, 16:22:50 ขอบคุณสำหรับคำชี้แนะครับ ได้มาละครับ แบบนี้ (ตรงจุดที่ต้องการวาง)
(http://upic.me/i/ah/1l002.jpg) แต่ว่าภาพเป็นการวางเรียงแนวตั้ง ต้องการให้เรียงตามแนวนอนไป เลยแทรกโค๊ด โค๊ด: echo ' <iframe src="https://car.auto-nkp.com/new-ad.php" width="100%"></iframe>'; ได้มาแบบนี้ (http://upic.me/i/ah/n8003.jpg) ไม่รู้ว่าต้องไปแก้โค๊ด และไฟล์ไหนบ้างถึงจะได้ภาพเรียงแนวนอน ถามบ่อย อย่าเพิ่งรำคาญนะครับ ไม่รู้จริงๆ (พยายามหาข้อมูล/ลองทำแล้ว) อีกนิดเดียวครับ ขอบพระคุณล่วงหน้าครับ หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: romance69 ที่ 09 มีนาคม 2020, 17:10:53 ขอบคุณสำหรับคำชี้แนะครับ ได้มาละครับ แบบนี้ (ตรงจุดที่ต้องการวาง) ([url]http://upic.me/i/ah/1l002.jpg[/url]) แต่ว่าภาพเป็นการวางเรียงแนวตั้ง ต้องการให้เรียงตามแนวนอนไป เลยแทรกโค๊ด โค๊ด: echo ' <iframe src="[url]https://car.auto-nkp.com/new-ad.php[/url]" width="100%"></iframe>'; ได้มาแบบนี้ ([url]http://upic.me/i/ah/n8003.jpg[/url]) ไม่รู้ว่าต้องไปแก้โค๊ด และไฟล์ไหนบ้างถึงจะได้ภาพเรียงแนวนอน ถามบ่อย อย่าเพิ่งรำคาญนะครับ ไม่รู้จริงๆ (พยายามหาข้อมูล/ลองทำแล้ว) อีกนิดเดียวครับ ขอบพระคุณล่วงหน้าครับ ถ้าเอาง่ายๆ สะดวกๆ ก็ tag table ครับ https://www.w3schools.com/css/css_table.asp ถ้าพอมีความรู้เรื่อง css แนะนำเขียนแบบ flexbox ครับ https://www.w3schools.com/css/css3_flexbox.asp เพิ่มเติมคือแบบ flexbox จัดการเรื่อง responsive ง่ายกว่า table ครับ หัวข้อ: Re: การดึงรูป smf แสดงหน้าแรก เริ่มหัวข้อโดย: Auto Tech ที่ 09 มีนาคม 2020, 17:39:05 ขอบคุณสำหรับคำชี้แนะครับ
ต้องศึกษากันต่อไป ตราบเท่าทียังมีลมหายใจ... อะไรนะ CSS FlexBox 5 5 5 เข้าท่าดี |