drupal_get_title()
telah dihapus dari Drupal 8. Bagaimana saya bisa mendapatkan judul halaman di Drupal 8?
13
Jika Anda memeriksa catatan perubahan, Anda harus menemukan yang berikut: drupal_set_title () dan drupal_get_title () telah dihapus .
Anda harus membaca pemberitahuan perubahan untuk semua info, tetapi inilah titik awalnya:
drupal_get_title ()
Karena judul pada rute sekarang dapat diatur dengan berbagai cara (lihat di atas), drupal_get_title () telah dihapus. Sebagai gantinya, Anda harus memanggil layanan title_resolver.
Drupal 7
<?php $title = drupal_get_title(); ?>
Drupal 8
<?php $request = \Drupal::request(); if ($route = $request->attributes->get(\Symfony\Cmf\Component\Routing\RouteObjectInterface::ROUTE_OBJECT)) { $title = \Drupal::service('title_resolver')->getTitle($request, $route); } ?>
Per
batch_test.module
(D8.4) berikut ini akan berfungsi dengan baik:Untuk info lebih lanjut, lihat
public function TitleResolver::getTitle
.sumber
Catatan
Respons yang diterima untuk pertanyaan ini sudah usang : Lihat parameter Permintaan, nama rute, dan objek rute harus diakses melalui RouteMatch .
Anda harus menggunakan layanan current_route_match untuk mengambil rute saat ini, dan kemudian membaca atau memodifikasi parameternya. Ini membungkus sihir Symfony dll.
Dalam kode prosedural, Anda akan menggunakan kode yang mirip dengan yang berikut ini.
Dalam kode berorientasi objek, Anda harus menggunakan injeksi ketergantungan dan menyuntikkan layanan.
sumber
$route->getDefault('_title');
tetapi hanya satu$route->getDefault('_title_callback');
?Drupal 8
sumber
->get('_MAGIC')
metode ini sayangnya tidak digunakan lagi dan sebagian besar dihapus dari D8: drupal.org/node/2124749