Ketika menggunakan tampilan untuk menampilkan tanggal mulai dan berakhir secara default itu menambahkan "ke" teks di antara dua tanggal, saya bertanya-tanya apa cara yang tepat untuk mengkonversi "menjadi" ke "-" atau apa pun.
Terima kasih
Ketika menggunakan tampilan untuk menampilkan tanggal mulai dan berakhir secara default itu menambahkan "ke" teks di antara dua tanggal, saya bertanya-tanya apa cara yang tepat untuk mengkonversi "menjadi" ke "-" atau apa pun.
Terima kasih
Jawaban:
Jawaban saya menganggap saya memiliki bidang yang disebut "field_event_date" yang ditampilkan sebagai Konten: Tanggal Acara dalam pandangan saya.
Jawaban # 1 - Gunakan Lihat Templat
Di bawah bagian lanjutan dari tampilan, di bawah bagian lain, buka Informasi Tema
Salin nama file dari opsi tema terakhir untuk Konten Bidang: Tanggal Acara, dalam kasus saya ini akan menjadi tampilan-tampilan-bidang - VIEWMACHINENAME - BLOCKMACHINENAME - field-event-date.tpl.php
Salin yang berikut ke dalamnya:
<?php
/**
* @file
* This template is used to print a single field in a view.
*
* It is not actually used in default Views, as this is registered as a theme
* function which has better performance. For single overrides, the template is
* perfectly okay.
*
* Variables available:
* - $view: The view object
* - $field: The field handler object that can process the input
* - $row: The raw SQL result that can be used
* - $output: The processed output that will normally be used.
*
* When fetching output from the $row, this construct should be used:
* $data = $row->{$field->field_alias}
*
* The above will guarantee that you'll always get the correct data,
* regardless of any changes in the aliasing that might happen if
* the view is modified.
*/
?>
<?php print date("Y-m-d H:i:s", strtotime($row->field_field_event_date[0]["raw"]["value"])); ?>
-
<?php print date("Y-m-d H:i:s", strtotime($row->field_field_event_date[0]["raw"]["value2"])); ?>Ini akan menampilkan sesuatu seperti 2014-08-09 20:15:00 - 2014-08-12 20:15:00, format menggunakan string format date () .
Jawaban # 2 - Gunakan Bidang Tampilan
Ini akan menampilkan sesuatu seperti Minggu, 1 Desember 2013 - 12:00 - Minggu, 1 Desember 2013 - 12:00, berdasarkan format yang Anda pilih.
[field_my_time] - [field_my_time_1].
Meskipun jawaban di atas benar, sebaiknya jangan menggunakan php di TPL seperti ini. Drupal hadir dengan sekelompok API mewah, salah satunya adalah template_preprocess_views_view_fields ( Seperti yang terlihat di sini )
Di template.php Anda lakukan ini:
function YOURTHEME_preprocess_views_view_fields(&$vars) {
if($vars['view']->name == 'YOUR_VIEW') {
if (strpos($vars['fields']['YOUR_FIELD']->content,'to') !== false) {
$vars['fields']['YOUR_FIELD']->content = str_replace('to','-',$vars['fields']['YOUR_FIELD']->content);
}
}
}
Di Tanggal 7.x-2.8 dan lebih tinggi, seluruh string "tanggal mulai hingga tanggal" diterjemahkan. Ini berarti bahwa cara mudah untuk mengubah "menjadi" menjadi "-" adalah dengan menggunakan modul String Overrides . Cukup unduh dan aktifkan modul, lalu kunjungi / admin / config / regional / stringoverrides. Pada halaman itu, tambahkan "! Tanggal mulai ke! Tanggal akhir" (tanpa tanda kutip) di bawah "Asli" dan "! Tanggal mulai -! Tanggal akhir" (tanpa tanda kutip) di bawah "Penggantian." Klik simpan. Anda juga mungkin perlu membersihkan cache situs Anda sebelum melihat perubahannya.
Satu manfaat dari metode ini adalah ia akan mengubah "to" menjadi "-" pada node dan view sekaligus.