หมวดไฟฟ้า/อิเล็กทรอนิกส์/คอมพิวเตอร์ => Programming => ห้องคอมพิวเตอร์ => ห้อง SMF 2.0.X => ข้อความที่เริ่มโดย: Auto Man ที่ 24 กันยายน 2558, 17:22:09

หัวข้อ: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 24 กันยายน 2558, 17:22:09
ตัวนี้เขียนฟังก์ชั่นขึ้นมาเอง แล้วนำคำสั่งไปใส่ไว้ในจุดที่ต้องการแสดง
ซึ่งคงเป็นหน้าเว็บไซต์ แต่ของเราเป็นเว็บบอร์ด ไม่เข้าใจวิธีการนำมาใส่...???
ไปอ่านที่นี่ต่อ http://nevikup.blogspot.com/2012/04/blog-post.html

 ??? ??? ???

ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ
 (http://upic.me/show/56999000)
หัวข้อ: Re: ฟังก์ชั่นแสดงกระทู้ล่าสุด ไม่แสดงกระทู้ตอบ
เริ่มหัวข้อโดย: Auto Man ที่ 25 กันยายน 2558, 06:39:43
ใน SMF 2.0.10 และ 11 เจอปัญหาเรื่อง Re ซ้ำๆ กัน ลง MOD 1.2 สำเร็จ... แต่ใช้งานไม่ได้ หมายถึงยังได้ผลเหมือนไม่ได้
ทำอะไรเลย
เว็บเราเจอ หาทางแก้อยู่ยังไม่ได้ ดูจากภาพด้านล่าง
หัวข้อ: Re: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 26 กันยายน 2558, 11:42:51
ส่วนตัวนี้ น่าจะใช้กับ SMF 1.X.X มากกว่า เพราะไฟล์ที่แก้ไขไม่เหมือนกับ SMF 2.0.X
ลองไปดูที่นี่แล้วกัน http://www.justusers.net/forum/index.php/topic,4597.0.html
Advanced Recent Posts / Topics

Mod Name:
Advanced Recent Posts / Topics
http://custom.simplemachines.org/mods/index.php?mod=1069
หัวข้อ: Re: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 26 กันยายน 2558, 11:46:52
ติดตั้งกับ smf 2.0.10 ไม่ผ่านคร๊าบ...
หัวข้อ: Re: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 12 ตุลาคม 2558, 14:59:44
เซียน smf 2.0.2 ขอความช่วยเหลือ หาทางแก้มานาน เรื่อง re ใน recent post

เซียน smf 2.0.2 ขอความช่วยเหลือ หาทางแก้มานาน เรื่อง re ใน recent post จะตัดคำว่า re ออกอย่างไร แล้วตัดกระทู้ซ้ำ ๆ ออกไปจาก recent post

รบกวนขอความช่วยเหลือครับ หาทางแก้มานาน มีปัญหาดังนี้
         
           ผมใส่ mod smf HideRecent เป็นตัวที่ไม่ให้แสดงกระทู้ที่เราไม่อยากให้แสดงใน recent post ครับ  ผลการลงสำเร็จกระทู้ ไม่แสดงอย่างที่เราต้องการ แต่ใน Recent post มีคำว่า RE หน้ากระทู้ แล้วจะมีกระทู้ซ้ำ ๆ เวลามีคนเข้ามาตอบกระทู้ดังภาพด้านล่างนี้

ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ


ผมเลยหาวิธีไม่ให้แสดงกระทู้ Re ขึ้นมาใน Recent Post ก็ได้แก้ไข Code ตามที่สมาชิกในไทยเสียว แนะนำ ผม ปรากฏว่า Re กับกระทู้ซ้ำ ๆ ไม่ขึ้น เป็นอย่างที่เราต้องการ  แต่ ปรากฏว่า  มันแสดงกระทู้ทั้งหมดขึ้นมาแทน  ซึ่ง mode ที่ลงตอนแรก ไม่ทำงาน ไม่สามารถกำหนด ให้กระทู้ที่เราไม่ต้องการแสดงใน Recent post ได้

รบกวน เพื่อนสมาชิก ท่านใดที่เคยเจอปัญหาแบบนี้ รบกวน ขอคำแนะนำการแก้ไขด้วยครับ  ผมใช้ smf 2.0.2  ทำตาม แมนนวล แล้วก็ไม่ได้ แก้มาหลายอาทติย์แล้ว ก็ไม่ได้ เคยหากระทู้สมาชิกคนหนึ่งบอกว่าทำได้ ผมก็ทำตามคำแนะนำ มันก็ไม่ได้เหมือนเดิมครับ เซียนท่านไหน รู้วิธีแก้ไขรบกวน ชี้แจ้งด้วยครับ ตอนนี้ code ที่แสดง re แต่มันสามารถ ไม่ให้แสดงกระทู้ที่เราต้องการเป็น code ดังนี้ครับ

อันนี้เป็นไฟล์  Subs-Recent.php ครับ


global $scripturl, $txt, $user_info, $modSettings, $smcFunc, $context;

   // Find all the posts.  Newer ones will have higher IDs.  (assuming the last 20 * number are accessable...)
   // !!!SLOW This query is now slow, NEEDS to be fixed.  Maybe break into two?
   $request = $smcFunc['db_query']('substring', '
      SELECT
         m.poster_time, m.subject, m.id_topic, m.id_member, m.id_msg,
         IFNULL(mem.real_name, m.poster_name) AS poster_name, t.id_board, b.name AS board_name,
         SUBSTRING(m.body, 1, 385) AS body, m.smileys_enabled
      FROM {db_prefix}messages AS m
         INNER JOIN {db_prefix}topics AS t ON (t.id_topic = m.id_topic)
         INNER JOIN {db_prefix}boards AS b ON (b.id_board = t.id_board)
         LEFT JOIN {db_prefix}members AS mem ON (mem.id_member = m.id_member)
      WHERE m.id_msg >= {int:likely_max_msg}' .
         (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? '
     
         AND b.id_board != {int:recycle_board}' : '') .
         (!empty($modSettings['hide_categories']) ? ' AND b.id_cat NOT IN ({array_int:hide_categories})' : '') .
         (!empty($modSettings['hide_boards']) ? ' AND b.id_board NOT IN ({array_int:hide_boards})' : '') .
         (!empty($modSettings['hide_topics']) ? ' AND t.id_topic NOT IN ({array_int:hide_topics})' : '') .
         
         (!empty($modSettings['hide_categories']) ? ' AND b.id_cat NOT IN ({array_int:hide_categories})' : '') .
         (!empty($modSettings['hide_boards']) ? ' AND b.id_board NOT IN ({array_int:hide_boards})' : '') .
         (!empty($modSettings['hide_topics']) ? ' AND t.id_topic NOT IN ({array_int:hide_topics})' : '') .'
         AND {query_wanna_see_board}' . ($modSettings['postmod_active'] ? '
         AND t.approved = {int:is_approved}
         AND m.approved = {int:is_approved}' : '') . '
      ORDER BY m.id_msg DESC
      LIMIT ' . $latestPostOptions['number_posts'],
      array(
         'likely_max_msg' => max(0, $modSettings['maxMsgID'] - 50 * $latestPostOptions['number_posts']),
         'recycle_board' => $modSettings['recycle_board'],
         'hide_categories' => (!empty($modSettings['hide_categories']) ? explode(',',$modSettings['hide_categories']) : ''),
         'hide_boards' => (!empty($modSettings['hide_boards']) ? explode(',',$modSettings['hide_boards']) : ''),
         'hide_topics' => (!empty($modSettings['hide_topics']) ? explode(',',$modSettings['hide_topics']) : ''),
         'hide_categories' => (!empty($modSettings['hide_categories']) ? explode(',',$modSettings['hide_categories']) : ''),
         'hide_boards' => (!empty($modSettings['hide_boards']) ? explode(',',$modSettings['hide_boards']) : ''),
         'hide_topics' => (!empty($modSettings['hide_topics']) ? explode(',',$modSettings['hide_topics']) : ''),
         'is_approved' => 1,
      )
   );

ไม่ทราบว่าต้องปรับแต่แก้ไขตรงไหน ขอความช่วยเหลือด้วยครับ หรือจากโค้ตนี้ ถ้าเราไม่ต้องการให้แสดงกระทู้บอร์ด 10 เราจะเพิ่มโค้ดตรงไหนครับ
หัวข้อ: Re: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 12 ตุลาคม 2558, 15:00:25
มาแกะตามผมนะครับ ผมแกะแบบฮาร์ดๆหน่อย

อันแรกที่ผมทำกับเว็บก็คือ เมื่อเวลามีคนกดตอบกระทู้ จะไม่ขึ้นคำว่า RE: หน้าหัวข้อ
ไปที่ Sources > Post.php บรรทัดที่ 837 จะเจอคำว่า

โค๊ด:
// Add 'Re: ' to the front of the quoted subject.
if (trim($context['response_prefix']) != '' && $smcFunc['strpos']($form_subject, trim($context['response_prefix'])) !== 0)
   $form_subject = $context['response_prefix'] . $form_subject;
ให้แก้เป็น
โค๊ด:
// Add 'Re: ' to the front of the quoted subject.
//if (trim($context['response_prefix']) != '' && $smcFunc['strpos']($form_subject, trim($context['response_prefix'])) !== 0)
//   $form_subject = $context['response_prefix'] . $form_subject;

อันที่สองคือทำให้ Recent post เอาเฉพาะหัวข้อมาโชว์ ถ้ามีคนตอบกระทู้ (สำหรับคนที่ใช้ Simple Portal เท่านั้น เพราะผมรู้แค่อันนี้)
อันนี้แก้ในเว็บนะคับ ไปที่ Blocks > แก้ไขอันที่เป็น Recent Posts/Topics > ตรง Display ให้เลือกเป็น Topics เท่านั้นหละครับ

ผลลัพธ์ก็จะเป็นแบบเว็บ ตลาด Online ของผมนะครับ ได้ไม่ได้ยังไงลองเอาไปทำก่อน แล้วค่อยกลับมาถามกันอีกทีครับ
หัวข้อ: Re: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 12 ตุลาคม 2558, 15:01:08
1.ใช้ MOD ซ่อนกระทู้ที่ถูกตอบให้มีเเต่หัวข้อต่อไป
2.ไปที่ไฟล์ index.thai-utf8.php หาคำว่า Re เเล้วลบออก
3.รีเฟรชดูผลงานหน้าเว็บ

1. MOD  แสดงเฉพาะกระทู้ล่าสุด ทีมีการตอบ ไม่แสดง re
http://custom.simplemachines.org/mods/index.php?mod=1414

Download ตัว 1.2
หัวข้อ: Re: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 12 ตุลาคม 2558, 15:02:21
แนะนำวิธีอีกแบบครับ

ให้ include ไฟล์ SSI.php ของ SMF  บอร์ดมาในหน้า หรือ ตำแหน่งที่ต้องการแสดงผลแทนก่อนครับ
แล้วก็พิมพ์โค้ดนี้ลงไป

<? echo ssi_recentTopics(10); ?>
// 10 คือจำนวนที่ต้องการแสดงผล

เพียงเท่านี้ก็ได้แล้วครับ จะแสดงเฉพาะหัวข้อที่มีคนตอบล่าสุด และ จะไม่ซ้ำกัน (การทำงานคล้ายของ TSB เลย)
หากต้องการปรับแต่ง css ก็เข้าไปที่ SSI.php แล้วหาคำว่า function ssi_recentTopics

จากนั้นเลื่อนๆ ลงมานิดหน่อยครับจะเจอ Code HTML สำหรับฟังก์ชั่นนี้ให้ปรับแต่งได้เลย
หัวข้อ: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 12 ตุลาคม 2558, 15:22:12
Test  O:-)
หัวข้อ: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 12 ตุลาคม 2558, 15:23:36
ทดสอบอีกรอบ  :(
หัวข้อ: Re: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 12 ตุลาคม 2558, 15:30:37
1.ใช้ MOD ซ่อนกระทู้ที่ถูกตอบให้มีเเต่หัวข้อต่อไป
2.ไปที่ไฟล์ index.thai-utf8.php หาคำว่า Re เเล้วลบออก
3.รีเฟรชดูผลงานหน้าเว็บ

1. MOD  แสดงเฉพาะกระทู้ล่าสุด ทีมีการตอบ ไม่แสดง re
http://custom.simplemachines.org/mods/index.php?mod=1414

Download ตัว 1.2

O.K เยี่ยมไปเลย ทำได้แล้วขอบคุณมากมายคร๊าบ...   :-X
เว็บบอร์ดผม SMF 2.0.11 ลง MOD ตัว 1.2 ครับ
แล้วไปแก้ประมาณบรรทัด 595 ในไฟล์ index.thai-utf8.php

ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ
 (http://upic.me/show/56961777)

ลองแล้ว.. ก็ยังไม่ได้อยู่ดี กลายเป็นแบบนี้ไป

ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ
 (http://upic.me/show/56961848)
หัวข้อ: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 12 ตุลาคม 2558, 16:03:41
คีย์เวิร์ดในการค้นหา/แก้ไข ใช้คำนี้ วิธีซ่อนกระทู้ตอบกลับ smf 2.0
หัวข้อ: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 13 ตุลาคม 2558, 17:00:27
มีอีกหนึ่งเว็บไซต์ ตามไปดู
http://www.welovethailand.com/webboard/index.php/topic,261.0.html
หัวข้อ: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 16 ตุลาคม 2558, 16:58:00
ทดสอบ :o
หัวข้อ: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 16 ตุลาคม 2558, 16:59:52
ลองดูอีกที ...  :o
หัวข้อ: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 16 ตุลาคม 2558, 17:02:01
ยังไม่ได้... เฮ้อเหนื่อย  :)
หัวข้อ: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 23 ตุลาคม 2558, 15:44:49
ความพยายาม คือ ความสำเร็จ  8)  :(  ::)

ทำได้สำเร็จแล้ว มันยอดเยี่ยมมากเลย ก่อนอื่นให้ติดตั้ง SMF 2.0.11 นี่หล่ะ
เล่นเวอร์ชั่นล่าสุดเนี่ยเลย...

หลังจากนั้นลงมอด (MOD) ครับ นี่เลย

Recent Topics On Board Index 1.03 by Nathaniel

ไปดาวน์โหลดมอดกันที่นี่
http://custom.simplemachines.org/mods/index.php?mod=1314

การติดตั้งทำได้ง่ายๆ ครับ จะได้หน้าตาประมาณนี้ ถูกใจจังเลย   8)

ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ
 (http://upic.me/show/57050079)
หัวข้อ: ฟังก์ชั่นแสดงกระทู้ล่าสุด แต่ไม่ให้แสดงกระทู้ตอบทำได้มั้ย...
เริ่มหัวข้อโดย: Auto Man ที่ 23 ตุลาคม 2558, 15:48:04
พยายามกันมาตั้งแต่ 24 กันยายน 58 จนถึงนี่เลย 23 ตุลาคม 58 ครบ 1 เดือนพอดี
ในการแก้ไขปัญหา เรื่องกระทู้ซ้ำๆ ทำให้ไม่อยากอัพเดตอะไรเลย ขอโทษเพื่อนสมาชิกด้วย

ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ
 (http://upic.me/show/57050093)