Modifikasi date di Drupal 6

Terkait dengan https://hendrowicaksono.wordpress.com/2014/01/10/menghilangkan-all-day-pada-drupal/, Masalah lain yang saya hadapi adalah mengubah default tampilan medium date. Contoh: “Sun, 12/23/2013 – 07.56”. Tiba-tiba dapat tugas agar harinya dalam bahasa Indonesia (“Sun” menjadi “Minggu”), “12/23/2013” (menjadi “23/12/2013”), sedangkan jam nya tetap. Jadi semua menjadi “Minggu, 23/12/2014 – 07.56”.

Oprek-oprek, bingung. Di form isian konten sudah diset tanggal/bulan/tahun, tapi kenapa di views begitu dikeluarkan tanggalnya tetap bulan/tanggal/tahun. Saya yakin di Drupal sebenarnya ada cara yang elegan untuk mengatasi itu semua, tapi karena kudu cepat selesai apapun cara yang dilakukan, maka berikut ini yang saya lakukan.

Edit file sites/all/modules/date/date/date.theme, cari fungsi theme_date_all_day(), ubah dari:

function theme_date_all_day($field, $which, $date1, $date2, $format, $node, $view = NULL) {

if (empty($date1) || !is_object($date1) || $format == ‘format_interval’) {
return;
}
if (empty($date2)) {
$date2 = $date1;
}

$suffix = ”;
if (!date_has_time($field[‘granularity’])) {
$format = date_limit_format($format, array(‘year’, ‘month’, ‘day’));
}
else {
$format_granularity = date_format_order($format);
$format_has_time = FALSE;
if (in_array(‘hour’, $format_granularity)) {
$format_has_time = TRUE;
}
$all_day = date_field_all_day($field, $date1, $date2);
if ($all_day && $format_has_time) {
$format = date_limit_format($format, array(‘year’, ‘month’, ‘day’));
$suffix = ‘ ‘ . theme(‘date_all_day_label’);
}
}

return trim(date_format_date($$which, ‘custom’, $format) . $suffix);

}

menjadi:

function theme_date_all_day($field, $which, $date1, $date2, $format, $node, $view = NULL) {
if (empty($date1) || !is_object($date1) || $format == ‘format_interval’) {
return;
}
if (empty($date2)) {
$date2 = $date1;
}

$suffix = ”;
if (!date_has_time($field[‘granularity’])) {
$format = date_limit_format($format, array(‘year’, ‘month’, ‘day’));
}
else {
$format_granularity = date_format_order($format);
$format_has_time = FALSE;
if (in_array(‘hour’, $format_granularity)) {
$format_has_time = TRUE;
}
$all_day = date_field_all_day($field, $date1, $date2);
if ($all_day && $format_has_time) {
$format = date_limit_format($format, array(‘year’, ‘month’, ‘day’));
$suffix = ‘ ‘ . theme(‘date_all_day_label’);
}
}

$finaldate = trim(date_format_date($$which, ‘custom’, $format) . $suffix);
$finald = substr ($finaldate, 8, 2);
$finalm = substr ($finaldate, 5, 2);
$finaly = substr ($finaldate, 11, 4);
$finaldmy = $finald.’/’.$finalm.’/’.$finaly;
$finaldate = preg_replace (“/[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]/i”, $finaldmy, $finaldate);
$finaldate = preg_replace (“/Sun,/i”, “Minggu,”, $finaldate);
$finaldate = preg_replace (“/Mon,/i”, “Senin,”, $finaldate);
$finaldate = preg_replace (“/Tue,/i”, “Selasa,”, $finaldate);
$finaldate = preg_replace (“/Wed,/i”, “Rabu,”, $finaldate);
$finaldate = preg_replace (“/Thu,/i”, “Kamis,”, $finaldate);
$finaldate = preg_replace (“/Fri,/i”, “Jumat,”, $finaldate);
$finaldate = preg_replace (“/Sat,/i”, “Sabtu,”, $finaldate);
return $finaldate;
}

Selamat mencoba. Ingat hanya berlaku di Drupal 6

 

Leave a comment