Templates by BIGtheme NET
หน้าแรก / การสร้างเว็บไซต์ ด้วย Joomla / วิธีแก้ไขเวลาที่แสดงผิดเพี้ยนใน Jcomment ของ Joomla!

วิธีแก้ไขเวลาที่แสดงผิดเพี้ยนใน Jcomment ของ Joomla!



ไม่แน่ใจว่าคนที่ใช้ตัว Comment ของ “JComment” จะเจอปัญหาเดียวกันหรือเปล่านะคะ เรื่อง “เวลาที่แสดงของ comment ไม่ถูกต้อง”  ทีแรกใช้ๆ ไปก็ไม่ได้สังเกตเรื่องเวลา เพราะเราไม่ได้เป็นคน comment แต่พอไปตอบ comment ก็เอ๊ะเวลามันแปลกๆ 

ถ้าเจอปัญหาเดียวกัน ก็แก้ตามวิธีการด้านล่างเลยค่ะ

ตอนที่เรากำหนดค่าเวลาใน Global Configuration ของ Joomla! ให้เป็นเวลาของประเทศไทย  ตรงแท็บ Server ส่วนของ Local Settings (Time Zone) ได้เลือกเป็น UTC+7 Bangkok เอาไว้

แต่เวลาคนมาเขียน comment มันเก็บค่าเป็น เวลาตอนนั้น + 7  ทำให้ได้ค่าเวลามากเกินไป

.

วิธีแก้ไขเวลาที่ผิดเพี้ยน ให้แก้ไข code ใน 2 ไฟล์ มี 2 วิธี ดังนี้ค่ะ

วิธีที่ 1  based on server/hosting timezone

1. ไฟล์ components\com_jcomments\jcomments.class.php

ค้นหาบรรทัด
$comment_date = date(‘Y-m-d H:i:s’, time() + $mainframe->getCfg(‘offset’) * 60 * 60);

แก้ไขเป็น
$comment->date = date(‘Y-m-d H:i:s’, time());

2. ไฟล์ components\com_jcomments\jcomments.ajax.php

ค้นหาบรรทัด
$comment->date = date(‘Y-m-d H:i:s’, time() + $mainframe->getCfg(‘offset’) * 60 * 60);

แก้ไขเป็น
$comment_date = date( ‘Y-m-d H:i:s’, time());

บันทึกค่าแล้ว upload ขึ้นไปทับไฟล์เดิม ทีนี้พอมี comment ใหม่ๆ เวลาก็จะบันทึตามเวลาของเครื่อง Server    ส่วนเวลาที่ผิดไปแล้ว ถ้าอยากแก้ไขให้ใช้ phpMyAdmin เข้าไปแก้แต่ละ record โดยตรงค่ะ

 

วิธีที่ 2 base on Joomla date time

1. ไฟล์ components\com_jcomments\jcomments.class.php

ค้นหาบรรทัด
$comment_date = date(‘Y-m-d H:i:s’, time() + $mainframe->getCfg(‘offset’) * 60 * 60);

แก้ไขเป็น
$createdate = JFactory::getDate();
$createdate = $createdate->toMySQL();

$jdate = new JDate($createdate);
$jdate->setOffset($mainframe->getCfg(‘offset’));
$formatDate = $jdate->toFormat(“%Y-%m-%d %H:%M:%S”);

$comment->date = $formatDate;

2. ไฟล์ components\com_jcomments\jcomments.ajax.php

ค้นหาบรรทัด
$comment->date = date(‘Y-m-d H:i:s’, time() + $mainframe->getCfg(‘offset’) * 60 * 60);

แก้ไขเป็น
$createdate = JFactory::getDate();
$createdate = $createdate->toMySQL();

$jdate = new JDate($createdate);
$jdate->setOffset($mainframe->getCfg(‘offset’));
$formatDate = $jdate->toFormat(“%Y-%m-%d %H:%M:%S”);

$comment_date = $formatDate;

ref : http://www.joomlatune.com/forum/index.php?topic=271.0

คุณอาจสนใจเรื่องนี้

กรณีที่เว็บไซต์ที่ใช้ Joomla! มีการเปิดให้สมาชิกเขียนบทความได้

บทความพิเศษ เขียนให้เพื่อนๆ ที่จะมาช่วยงาน Enjoychinese.net ค่ะ กรณีที่เว็บไซต์ที่ใช้ Joomla! มีการเปิดให้สมาชิกเขียนบทความได้  เราจะแนะนำให้สมาชิกใช้งานได้อย่างไรมาดูกันค่ะ ตัวอย่างการใช้งานของสมาชิก ระดับ Publisher (อ่านทวนเรื่องการจัดการสมาชิกในบทความก่อนนะคะ) 1. เข้ามาหน้าเว็บไซต์ ...

1 ความคิดเห็น

  1. เวลาใน wordpress เก่งยังเพี้ยนเลยครับ 555

Leave a Reply

Your email address will not be published. Required fields are marked *