Bagaimana cara mengubah "ke" menjadi "-" saat menampilkan tanggal mulai dan berakhir di tampilan?

10

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

ilama
sumber
1
Pertanyaan yang sama - drupal.stackexchange.com/questions/79311/…
RajeevK
Ketika seseorang memiliki jawaban, yang lain harus ditutup sebagai duplikat. Tangkapan yang bagus, @RajeevK
Mołot
@ Mołot - Itu sebabnya saya tidak menandai sebagai duplikat. Berharap seseorang memiliki sesuatu ke arahnya & mengubah data tampilan. Saya telah melakukan di D6 tetapi tidak yang satu ini tetapi hal yang sangat berbeda.
RajeevK

Jawaban:

9

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

  1. Di bawah bagian lanjutan dari tampilan, di bawah bagian lain, buka Informasi Tema

  2. 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

  3. 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

  1. Di bawah Bidang, tambahkan Konten: Tanggal Acara dan atur Tampilan ke "Hanya Tanggal Mulai"
  2. Di bawah Bidang, tambahkan Global: Teks Kustom dan atur Teks ke -
  3. Di bawah Bidang, tambahkan Konten: Tanggal Acara dan atur Tampilan menjadi "Hanya Tanggal Berakhir"
  4. Di bawah Pengaturan Bidang, Tetapkan tiga bidang di atas sebagai Inline.

Ini akan menampilkan sesuatu seperti Minggu, 1 Desember 2013 - 12:00 - Minggu, 1 Desember 2013 - 12:00, berdasarkan format yang Anda pilih.

Scott Joudry
sumber
Jawaban # 2b: melakukan hal yang sama tetapi mengecualikan tanggal mulai dari tampilan di bidang pertama; jangan tambahkan Global: Teks Kustom; dan tulis ulang hasil dari bidang tanggal akhir dengan pola pengganti untuk sesuatu seperti [field_my_time] - [field_my_time_1].
Hugo
4

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);
  }
 }
}
John O
sumber
2

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.

peezy
sumber