Bagaimana cara mencetak format tanggal khusus di Ranting?


14

Bagaimana saya bisa mencetak format tanggal khusus di Ranting? Pertama-tama saya mencoba untuk mengedit field.html.twigbidang yang disebut field_publication_date, dalam file itu saya menemukan variabel ini {{ item.content }}yang dicetak Jun, 12/06/2016 - 12:29.

Inilah yang saya coba: {{ item.content.field_publication_date|format_date('M') }}

Jawaban:


16

Coba gunakan ini -

{{ item.content.field_publication_date|date("M") }}

Tapi, saya pikir Anda akan mendapatkan solusinya

{{ item.content|date("M") }}

Di mana item.contentberisi string tanggal di dalam bidang - simpul - bidang-publikasi-date.html.twig .


2
format_dateseharusnya fungsinya, merujuk format tanggal dari Drupal
— Kevin


1
Terima kasih. Opsi pertama bekerja untuk saya {{item.content.field_publication_date | date ("M")}}
— Ricardo Castañeda

2
Jika ini adalah bidang tanggal, mengapa pengaturan formatter bidang tidak cukup? Juga jika stempel waktu, format_date adalah filter ranting Drupal, Anda dapat mengirimkan format tanggal khusus ke: drupal.org/docs/8/theming/twig/…
— Kevin

1
@ kevin Saya pura-pura menggunakan tampilan suite dan dengan token menunjukkan tanggal dalam div yang berbeda. Tetapi entah bagaimana tanggal khusus tidak berfungsi untuk saya.
— Ricardo Castañeda

14

Pertama, buat format tanggal khusus my_custom_date_formatdi bagian konfigurasi admin drupal.

Kedua, gunakan format_datefilter Twig, seperti di sini:

{{ node.created.value|format_date('my_custom_date_format') }}

Mungkin perlu mengubah tanggal menjadi cap waktu unix, pertama. Itu akan terlihat seperti ini:

{{ node.my_date_field.value|date('U')|format_date('my_custom_date_format') }}

1
Contoh kode kedua tidak berfungsi untuk saya, karena "nilai" pada larik konten (content.field_date.value) adalah nol. Saya menduga itu muncul atau tidak berdasarkan formatter tampilan yang digunakan untuk bidang itu. Saya harus menggunakan node.field_date.value|date('U')sebagai gantinya.
— George

@ George benar, .valuekuncinya biasanya hanya tersedia untuk bidang dari entitas seperti node, useratau paragraph, tetapi tidak di dalam render array ( content). Saya mengedit contoh ke-2 untuk menggunakan nodevariabel
— Hudri

2

The \Drupal\datetime\Plugin\Field\FieldType\DateTimeItemmemiliki nilai dan properti date. Ini valueadalah UTC dan datedihitung. Gunakan properti tanggal untuk menghindari keharusan berurusan dengan zona waktu, dan Anda dapat menggunakan format yang dibuat atau yang khusus:

{{ node.field_publication_date.date|format_date('custom', 'F j, Y') }}

Format tanggal dalam Drupal:

{{ node.field_publication_date.date|format_date('my_custom_date_format') }}


Inilah yang bekerja untuk saya: {{node.field_event_date.date | date ('U') | format_date ('custom', 'F j, Y')}}
— arnoldbird

Hai @arnoldbird, bisakah Anda menjelaskan kepada saya apa yang date('U')terjadi?
— Aman Devrath


0

Ini berhasil untuk saya. Nilai tanggal dengan fungsi format date () sendiri ranting:

{{ content.field_arrival_date.value | date("Y/m/d") }}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.