ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์CMS & Free Scriptอยากได้โค๊ด ดึงภาพแรก ในกระทู้ SMF แชร์ลงเฟสบุ๊ค ซอยข่อยแน๊(ช่วยผมด้วย)
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: อยากได้โค๊ด ดึงภาพแรก ในกระทู้ SMF แชร์ลงเฟสบุ๊ค ซอยข่อยแน๊(ช่วยผมด้วย)  (อ่าน 2383 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
nitikon101
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 51



ดูรายละเอียด
« เมื่อ: 27 มีนาคม 2018, 15:42:49 »

- ผมใช้ smf 1.1.21  ไม่มี mod
- ผมได้ทำปุ่มแชร์ในแต่ละกระทู้เรียบร้อย แต่เวลาแชร์ภาพที่ออกมามัน fix เป็นโลโก้เว็บ
- ผมได้นำ <meta property="og:image" รูปภาพที่จะแสดง " >  ตัวนี้วางในส่วนเฮด
ของ index.template.php ใน theme ที่ใช้ ซึ่งมันก็ fix เฉพาะภาพที่วางนี้
   ผมขอความกรุณาเซียนผู้รู้ ได้โปรด บอกโค๊ดที่ผมจะสามารถ ดึงเอาภาพแรกในกระทู้นั้นๆ มาแสดง โดยอัตโนมัติ ....
เนื่องจากเวลานี้ ผมต้องคอย เอาลิ้งค์ภาพมาวางในหน้านี้ แล้ว อัพๆไฟล์  index.template.php ขึ้นใหม่ทุกครั้ง และต้องเองลิ้งกระทู้ไปโพส แก้ ดีบักอีก กว่าจะได้ลิ้งค์มาแชร์ ใช้ระยะเวลามาก และมึนหัว
     ขอความกรุณาด้วยนะครับ................กราบล่ะครับ
บันทึกการเข้า
CONY
คนรักเสียว
*

พลังน้ำใจ: 17
ออฟไลน์ ออฟไลน์

กระทู้: 171



ดูรายละเอียด
« ตอบ #1 เมื่อ: 27 มีนาคม 2018, 16:48:32 »

ค่อนข้างใช้เวลาครับ เหมือนการทำ mod ใหม่ขึ้นมาหนึ่งตัว
คือถ้าเป็นเทคนิคการแก้ปัญหาที่มีมาก่อนอยู่แล้ว หรือการปรับแต่งที่ไม่ต้องใช้เวลามาก
ยินดีตอบให้ครับ แต่แบบนี้ทำได้แค่ชี้ช่องให้ ซึ่งคนทำ ก็ต้องมีความรู้พื้นฐานอยู่ด้วย
ลองดูจากกระทู้ดึงรูปภาพแรกในกระทู้มาแสดง ที่มีคนบอกวิธีไว้แล้ว เอามาประยุกต์ใช้เอาครับ
บันทึกการเข้า
romance69
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 169
ออฟไลน์ ออฟไลน์

กระทู้: 2,158



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 27 มีนาคม 2018, 16:58:42 »

ผมว่าจ้างทำง่ายสุดละครับ  wanwan019

วิธีทำนะครับ อ้างอิงจากกระทู้นี้เลยครับ
http://www.thaiseoboard.com/in...333.msg2541560.html#msg2541560

อันดับแรก
เปิดไฟล์ index.tem.php ธีมที่ใช้
ค้นหาโค้ด (หรือบรรทัดล่างสุด)
โค๊ด:
?>

นำโค้ดนี้ใส่ไว้ก่อนหน้า ?> ครับ
โค๊ด:
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);}
}
function meta_image($id_topic) {
global $db_prefix, $scripturl, $smcFunc;
if (!is_numeric($id_topic))
return FALSE;

$request = $smcFunc['db_query']('', '
SELECT t.id_topic, m.body, m.subject
FROM {db_prefix}topics as t
INNER JOIN {db_prefix}messages as m on (t.id_first_msg = m.id_msg)
WHERE t.id_topic = {int:id_topic}', array(
'id_topic' => $id_topic
)
);
$row = $smcFunc['db_fetch_assoc']($request);
if (empty($row))
return FALSE;

$image = findIMG($row['body']);
if ($image == '') {
$image = 'http://wwww.monkey-th.com/noimage.png';
}
return '<meta property="og:image" content="'. $image .'" />';
}


ต่อไปหาโค้ดนี้
โค๊ด:
// Please don't index these Mr Robot.
if (!empty($context['robot_no_index']))
echo '
<meta name="robots" content="noindex" />';

แทนที่ด้วยโค้ดนี้
โค๊ด:
// Please don't index these Mr Robot.
if (!empty($context['robot_no_index']))
echo '
<meta name="robots" content="noindex" />';

if (isset($_GET['topic'])) {
echo meta_image($_GET['topic']);
}


ลองดูครับ ได้ไหมไม่รู้นะครับ เพราะยังไม่ได้ลองรันเลยครับ
« แก้ไขครั้งสุดท้าย: 27 มีนาคม 2018, 19:30:27 โดย romance69 » บันทึกการเข้า
infamous
ก๊วนเสียว
*

พลังน้ำใจ: 14
ออฟไลน์ ออฟไลน์

กระทู้: 295



ดูรายละเอียด
« ตอบ #3 เมื่อ: 27 มีนาคม 2018, 18:34:50 »

ผมคิดว่า ไม่น่าจะยากครับ แต่ผมไม่ได้ใช้ smf นานแล้ว และไม่มีเวลาทดสอบให้ดูเป็นตัวอย่างครับ

ลองดู mod ตัวนี้ และลองประยุกต์ดูครับ

http://custom.simplemachines.org/mods/index.php?mod=1151

คอนเซ็ปต์ง่ายๆ ที่คิดว่าทำได้นะครับ

กรณีดึงจากเนื้อหา
1. ดึงรายละเอียด(body) ของ topic นั้นๆออกมา
2. ใช้ฟังก์ชั่น preg_match() เอา src ของรูปแรกมา
3. เอาลิงค์ src ไปยำลงใน meta ตามใจชอบ

ให้ดีลอง capture สิ่งที่ท่านต้องการมาดูครับ เพราะบางครั้งอาจจะมีท่านอื่นเข้ามาช่วยเพิ่มอีกแรง
บันทึกการเข้า
nitikon101
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 51



ดูรายละเอียด
« ตอบ #4 เมื่อ: 27 มีนาคม 2018, 21:24:54 »

หมดปัญญา ยอมแพ้ครับพี่น้องครับ
บันทึกการเข้า
romance69
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 169
ออฟไลน์ ออฟไลน์

กระทู้: 2,158



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 27 มีนาคม 2018, 21:49:19 »

หมดปัญญา ยอมแพ้ครับพี่น้องครับ
โค้ดที่ผมให้ไปมันใช้ไม่ได้หรอครับ หรือยังไม่ได้ลอง ?
บันทึกการเข้า
nitikon101
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 51



ดูรายละเอียด
« ตอบ #6 เมื่อ: 28 มีนาคม 2018, 09:47:47 »

หมดปัญญา ยอมแพ้ครับพี่น้องครับ
โค้ดที่ผมให้ไปมันใช้ไม่ได้หรอครับ หรือยังไม่ได้ลอง ?

ไม่ได้ครับ

ขอบคุณทุกท่านที่สนใจ และพยายามช่วยเหลือ
บันทึกการเข้า
nitikon101
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 51



ดูรายละเอียด
« ตอบ #7 เมื่อ: 28 มีนาคม 2018, 17:35:03 »

นึกขึ้นได้เป็นอย่างๆ
    แปลกตรงที่ว่า ผมไม่ต้องเอาโค๊ดอะไรมาใส่เลย แต่มันแสดง ยูอาแอล หัวข้อถูก และดึงเอารูปฟิกมาเลย  แสดงว่าต้องมีคำสั่งใดเชื่อมโยงกันแน่ๆ
   เพียงแต่ว่าตอนนี้ผมจะหาโค้ด สคริป อะไรที่จะใช้ดึงภาพแรก ในบอดนั้นๆได้เท่านั้น  หามาสามสัปดาแล้ว ปวดหัว หาต่อๆๆๆๆ
บันทึกการเข้า
projectgun8
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 66



ดูรายละเอียด
« ตอบ #8 เมื่อ: 28 มีนาคม 2018, 18:34:39 »

สามารถ get path รูปแรกของกระทู้มาได้หรือยังอะครับ
บันทึกการเข้า
nitikon101
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 51



ดูรายละเอียด
« ตอบ #9 เมื่อ: 29 มีนาคม 2018, 15:45:03 »

สามารถ get path รูปแรกของกระทู้มาได้หรือยังอะครับ
ยังครับ คือผมไม่มีความรู้ภาษาเลยครับ ทุกอย่างมั่วๆเดาๆครับ
บันทึกการเข้า
virussman
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 1,059



ดูรายละเอียด
« ตอบ #10 เมื่อ: 29 มีนาคม 2018, 16:19:38 »

ต้องสร้าง og:image ครับ เฟสบุคมันจะดึงตรงนี้ ลองดูMod ตัวนี้ เห็นว่าใช้ได้ตั้งแต่ 1.0RC1 
http://custom.simplemachines.org/mods/index.php?mod=4117

หรือลองเอาโค้ดนี้ไปลอง manual ดูครับ

/Themes/your_theme/index.template.php
Search:
โค๊ด:
// Output any remaining HTML headers. (from mods, maybe?)

Replace with
:
อ้างถึง
// OG image
   if (isset($context['og_image']))
      echo '<meta property="og:image" content="' . $context['og_image'] . '" />';
   else
      echo '
   <meta property="og:image" content="url of your default forum image for topics with no image at all" />';

   // Output any remaining HTML headers. (from mods, maybe?)


/Sources/Display.php
Search:
โค๊ด:
// Get all the important topic info.
$request = $smcFunc['db_query']('', '
SELECT
t.num_replies, t.num_views, t.locked, ms.subject, t.is_sticky, t.id_poll,
Replace with:
 
โค๊ด:
// Get all the important topic info.
$request = $smcFunc['db_query']('', '
SELECT
t.num_replies, t.num_views, t.locked, ms.subject, t.is_sticky, t.id_poll, ms.body,

Search:
อ้างถึง
// Add up unapproved replies to get real number of replies...

Replace with:
โค๊ด:
// OG image
$aux = preg_match_all('/\[img.*\](.+)\[/img\]/i', $topicinfo['body'], $aux2);
if (!empty($aux2[1][0]) && !isset($context['og_image']))
$context['og_image'] = $aux2[1][0];

// Add up unapproved replies to get real number of replies...

And this should make your forum set the image for Facebook and any other page that uses OpenGraph.

https://www.simplemachines.org...unity/index.php?topic=547326.0

ข่อยซอยดั้ยซั้มนี่เด้อ  (ผมช่วยได้เท่านี้)  wanwan004
บันทึกการเข้า

ขายบัญชีทวีตเตอร์, ขายบัญชี-กลุ่ม Vk, รับลงงานโพสกลุ่ม vk twitter, กลุ่มซื้อขายทวีตเตอร์-VK   @Lineid: virussmander
nitikon101
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 51



ดูรายละเอียด
« ตอบ #11 เมื่อ: 03 เมษายน 2018, 13:48:03 »

ไม่ได้ครับ
บันทึกการเข้า
7one011
ก๊วนเสียว
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 232



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 07 เมษายน 2018, 20:59:37 »

ไม่ได้ครับ

ยังไม่ได้หรอคับ พี่
บันทึกการเข้า

nitikon101
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 51



ดูรายละเอียด
« ตอบ #13 เมื่อ: 09 เมษายน 2018, 16:13:24 »

ยังครับช่วยผมหน่อย  ไอดีไลน์  0812880899
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์