หมวดไฟฟ้า/อิเล็กทรอนิกส์/คอมพิวเตอร์ => ห้อง SMF 2.0.X => Programming => ห้องคอมพิวเตอร์ => ห้อง MOD => ข้อความที่เริ่มโดย: Auto Man ที่ 14 พฤศจิกายน 2569, 08:37:33

หัวข้อ: MOD Go UP & Go Down
เริ่มหัวข้อโดย: Auto Man ที่ 14 พฤศจิกายน 2569, 08:37:33
   เนื่องจากเลื่อนขึ้นไม่สุดหลังจากการย้ายโฮสต์ เลยลองทดสอบ
Unistall ดู

ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ
 (https://postimg.cc/fJpn5DdS)
หัวข้อ: MOD Go UP & Go Down
เริ่มหัวข้อโดย: Auto Man ที่ 14 พฤศจิกายน 2569, 08:39:31
   มีการล้มเหลวในไฟล์ index.template.php
- การแก้ไขการทำงานของ ./Themes/default/index.template.php ล้มเหลว
./Themes/default/index.template.php ล้มเหลว
./Themes/default/index.template.php ล้มเหลว
./Themes/default/Display.template.php  สำเร็จ
./Sources/Display.php  สำเร็จ
./Sources/ManageSettings.php  สำเร็จ
./Themes/default/languages/Modifications.english.php  สำเร็จ

./Themes/default/scripts/smooth.js   ลบไฟล์
./Themes/default/images/buttons/top_post.gif ลบไฟล์
./Themes/default/images/buttons/last_post.gif
./Themes/default/images/buttons/prev_post.gif
./Themes/default/images/buttons/next_post.gif

   มี 2 จุด อยากรู้ว่าอยู่ในบรรทัดไหน ข้อความ/โค้ดว่าอย่างไร
หัวข้อ: MOD Go UP & Go Down
เริ่มหัวข้อโดย: Auto Man ที่ 14 พฤศจิกายน 2569, 08:45:28
   ลองไปถาม AI ได้คำตอบมาแบบนี้

ติดตั้งมอด Go Up & Go Down ในบอร์ด SMF เดิมเลื่อนไหน้าขึ้นสุดได้ แต่พอย้ายโฮสต์กลับขึ้นไม่สุด ต้อแก้ไขโค้ดตรงไหน อย่างไร

สาเหตุที่มอด Go Up & Go Down เคยเลื่อนขึ้นสุดได้ในโฮสต์เดิม แต่พอย้ายโฮสต์แล้วเลื่อนขึ้นไม่สุด (หรือไปหยุดอยู่แค่ช่วงกลาง/หัวข้อกระทู้) เกิดจาก ความผิดพลาดในการดึงไฟล์ JavaScript หรือ jQuery หลังการย้ายโฮสต์ เช่น พาธ (URL) ของไฟล์สคริปต์ยังชี้ไปที่โดเมน/โฟลเดอร์เก่า หรือโฮสต์ใหม่บังคับใช้ HTTPS (https://) ทำให้เบราว์เซอร์บล็อกไฟล์สคริปต์ที่เป็น HTTP (http://) ส่งผลให้ระบบกลับไปใช้คำสั่งลิงก์พื้นฐาน (#top) ซึ่งในธีมของ SMF มักวางตำแหน่ง #top ไว้ที่ส่วนเนื้อหาหลักแทนที่จะเป็นบนสุดของหน้าเว็บ
คุณสามารถตรวจสอบและแก้ไขตามขั้นตอนต่อไปนี้ครับ

ขั้นตอนที่ 1: ตรวจสอบและแก้ URL/Path หลังย้ายโฮสต์ (สาเหตุหลัก)

เมื่อย้ายโฮสต์ การตั้งค่าพาธในฐานข้อมูลหรือไฟล์ตั้งค่าอาจยังไม่ตรงกับเซิร์ฟเวอร์ใหม่ ทำให้สคริปต์ของมอดทำงานไม่สมบูรณ์
1. เข้าไปที่หน้าจัดการของ SMF: ผู้ดูแล (Admin) > การบำรุงรักษา (Maintenance) > บำรุงรักษาฟอรัม (Forum Maintenance)
2. เลือกแท็บ งานประจำ (Routine) แล้วกดรันคำสั่ง ล้างแคชไฟล์ (Empty the file cache)
3. ตรวจสอบไฟล์ Settings.php ในโฟลเดอร์หลักของบอร์ด ตรวจสอบบรรทัด $boardurl และ $themedir ให้ตรงกับโดเมนและโฟลเดอร์ของโฮสต์ใหม่ รวมถึงตรวจสอบว่าใช้ https:// ตรงกับหน้าเว็บปัจจุบันหรือไม่
4. ตรวจสอบการตั้งค่าธีมในหน้า ผู้ดูแล > การปรับแต่ง > ธีมและการจัดวาง > ตั้งค่าธีม ตรวจสอบช่อง URL ไปยังโฟลเดอร์ธีมพื้นฐาน (default_theme_url) ว่าถูกต้องและไม่มีปัญหา Mixed Content (HTTP/HTTPS)

ขั้นตอนที่ 2: แก้ไขโค้ดในไฟล์เทมเพลต index.template.php (แก้จุดอ้างอิง #top)

มอด Go Up & Go Down ของ SMF จะทำงานคู่กับแท็ก <a id="top">[/url] ในไฟล์เทมเพลตของธีม หากสคริปต์ไม่ทำงานหรือตัวมอดสั่งวิ่งหา #top การย้ายแท็กนี้ไปไว้บนสุดจะทำให้ปุ่มเลื่อนขึ้นสุดหน้าได้เสมอ
1. เปิดไฟล์ Themes/ชื่อธีมที่ใช้งานอยู่/index.template.php (หากไม่มีให้แก้ไขที่ Themes/default/index.template.php)
2. ค้นหาคำว่า id="top" (มักจะพบโค้ดลักษณะนี้บริเวณส่วนเนื้อหาหลัก):html
<div id="main_content_section"><a id="top">[/url]
ใช้โค้ดอย่างระมัดระวัง
3. ลบ <a id="top">[/url] ออกจากจุดเดิม แล้วนำไปวางไว้ หลังแท็ก <body> ทันที (ให้เป็นบรรทัดแรกสุดของส่วนแสดงผลหน้าเว็บ):html
<body>
<a id="top">[/url]
ใช้โค้ดอย่างระมัดระวัง

ขั้นตอนที่ 3: แก้ไขโค้ดคำสั่ง Scroll ในตัวมอด Go Up & Go Down

มอด Go Up & Go Down มักจะแทรกโค้ด JavaScript/jQuery ไว้ในไฟล์ index.template.php (ช่วงท้ายไฟล์ก่อนปิด </body>) หรืออยู่ในไฟล์แยกในโฟลเดอร์ Themes/default/scripts/
1. ค้นหาโค้ดของมอดโดยค้นหาคำว่า goup หรือ godown หรือ scrollTop ในไฟล์ index.template.php หรือในโฟลเดอร์ Themes/default/scripts/
2. หากพบโค้ดลักษณะนี้:javascript
$('#goup').click(function(){
    $('html, body').animate({scrollTop: $('#top').offset().top}, 'slow');
    return false;
});
ใช้โค้ดอย่างระมัดระวัง
3. ให้เปลี่ยนค่าเป้าหมายจาก $('#top').offset().top (หรือชื่อไอดีอื่นๆ) ให้เป็นตัวเลข 0 เพื่อให้เลื่อนขึ้นไปจุดบนสุดของหน้าต่างเสมอ:javascript
$('#goup').click(function(){
    $('html, body').animate({scrollTop: 0}, 'slow');
    return false;
});
ใช้โค้ดอย่างระมัดระวัง
4. บันทึกไฟล์ทั้งหมด อัปโหลดทับของเดิม แล้วกด Ctrl + F5 ที่หน้าเว็บบอร์ดเพื่อล้างแคชของเบราว์เซอร์และทดสอบผลครับ
หัวข้อ: MOD Go UP & Go Down
เริ่มหัวข้อโดย: Auto Man ที่ 14 พฤศจิกายน 2569, 09:11:51
   - มอดดั้งเดิมที่ https://custom.simplemachines.org/index.php?mod=1619

ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ
 (https://postimages.org/)
หัวข้อ: MOD Go UP & Go Down
เริ่มหัวข้อโดย: Auto Man ที่ 14 พฤศจิกายน 2569, 17:13:37
  สรุปแล้ว มอดตัวนี้ทำงานปกตินะครับ