ด้วยความที่ smfบอร์ดไม่ใช่สัญชาติไทยแท้ โอนสัญชาติมาอีกทีหนึ่ง ดังนั้นเมนูภาษาไทยที่ถูกโอนมาจึงมีความผิดพลาดอยู่บ้าง
วันนี้จะมาดูการแก้ไขความผิดพลาดเล็กๆน้อยๆที่บางทีก็ทำให้วุ่นวายใจได้
ปุ่ม “ตั้งกระทู้ใหม่” ในหน้าโพสต์กระทู้ใหม่ ดูแล้วไม่น่ามีปัญหาอะไร แต่เมื่อไรก็ตามที่เป็นการโพสต์ตอบ ที่ไม่ใช่ตั้งกระทู้ใหม่ ปุ่มตัวเดิม ยังคงแสดงข้อความว่า “ตั้งกระทู้ใหม่” ซึ่งสร้างความสับสนแก่ผู้ใช้ยิ่งนัก
ทีนี้มาดูการแก้ปัญหาครับ
ไฟล์ที่เกี่ยวข้องมี 2 ตัว
1../Themes/languages/index.thai-utf8.php
2../Sources/Post.php
เบื้องต้นเกิดไฟล์ index.thai-utf8.php มาก่อน แล้วเพิ่มคำสั่งนี้ไป
$txt['post'] = ‘ตั้งกระทู้’;
$txt['post_post'] = ‘ตอบกระทู้’;
เพิ่มตรงไหน?
ลงไปยังบรรทัดล่างสุดเลยก็ได้ครับ แต่ต้องอยู่ภายใน ?> นะ
อันดับต่อไปเปิดไฟล์ Post.php
ค้นหาคำสั่ง $context['submit_label'] = $txt[105];
เมื่อเจอแล้วอย่ารอช้า ลบทิ้งหรือคอมเมนต์ไว้ก็ได้ (//)
จากนั้นใส่คำสั่งนี้ไปแทนครับ
if(!(isset($_GET['topic']))) {
$context['submit_label'] = $txt['post'];
}else {
$context['submit_label'] = $txt['post_post'];
}
คำสั่งของมันก็แค่เช็คว่า เป็นการตั้งกระทู้ใหม่มั้ย? (ถ้าตั้งกระทู้ใหม่ต้องมี ($_GET['topic']) ถ้าตั้งกระทู้ใหม่ก็ให้แสดงปุ่ม “ตั้งกระทู้ใหม่” ถ้าไม่ใช่ก็ให้แสดงปุ่ม “ตอบกระทู้” แทน
เป็นทริกเล็กๆน้อยๆ แต่เวลาจะใช้งานจริงๆก็หากันแทบแย่
อ้อ..ทิปนี้ใช้ได้ทั้งเวอร์ชั่น 1 และเวอร์ชั่น 2 นะคร้าบ
เพิ่่มเติมครับ ถ้าเป็น SMF เวอร์ชั่น 2
ตอบลบให้ค้นหาคำสั่ง ค้นหาคำสั่ง
$context['submit_label'] = $txt['post'];
เจอแล้วลบทิ้ง หรือ คอมมเนต์ไว้ // แล้วใช้คำสั่งเดิมนี้แทน
if(!(isset($_GET['topic']))) {
$context['submit_label'] = $txt['post'];
}else {
$context['submit_label'] = $txt['post_post'];
}