Saya menggunakan pagetitle
modul inti untuk membuat judul halaman. Namun, untuk jenis konten tertentu saya inginhalamanjudul utama menjadi label tipe konten (mis. "Berita") dan bukan label simpul (mis. "Drupal 8 dirilis!").
Apakah ada cara sederhana untuk mencapainya? Dugaan pertama saya adalah menggunakan template_preprocess_page_title
tetapi $variables
tidak memiliki konteks apa pun tentang simpul, jenis simpul, dll ...
Jawaban:
Seperti yang disebutkan oleh Ivan Jaros, Anda bisa menggunakan
hook_preprocess_page_title
.Anda hanya perlu memuat node dari rute terlebih dahulu, untuk mendapatkan beberapa konteks.
Jika Anda hanya ingin menggunakan ini dengan jenis konten tertentu, Anda dapat menggunakan
$node->bundle()
untuk mendapatkan nama yang dapat dibaca mesin dan memeriksanya.sumber
block_title
. Namun itu tidak menggantikan judul Halaman. Tahu cara mendapatkan judul halaman disetel ke nilai yang sama dengan blok judulLinus sudah benar untuk fungsi preprocess, tapi saya pribadi menggunakan ini untuk mendapatkan node saat ini (karena lebih pendek dan tampak lebih mudah ...)
Kemudian untuk mengakses judul node, gunakan:
atau untuk mengakses bidang khusus lain (dengan nilai):
Sebenarnya, akses semua cara Anda akan mengakses data ini dalam fungsi preprocess simpul biasa :)
sumber
Gunakan modul Metatag yang sudah siap D8 dan mendukung apa yang Anda butuhkan.
sumber
Buat modul kecil. Diperlukan dua file:
Nama file: liveeventtitles.info.yml
File: liveeventtitles.module
Saya mungkin memiliki lebih dari yang saya butuhkan, seperti saya tidak berpikir saya perlu nilai default dan PLACEHOLDER di hook_form_alter () tapi saya perlu memberi seseorang alasan untuk memilih ini (-;
sumber
Dalam THEMENAME_preprocess_html (& $ variabel) {} ada $ variabel ['head_title'] yang merupakan contoh tangan tertinggi untuk judul halaman (Judul terstruktur: $ variabel ['head_title_array']). Ada juga kunci array lain yang menarik seperti $ variabel ['halaman'] ['konten'] dan $ variabel ['node_type'] berdasarkan di mana judul dapat diproses.
Pikiran terakhir: $ variabel ['head_title'] = ['title_part1', 'title_part2']; sejak di html.html.twig
sumber