Ketika saya mengunjungi halaman yang tidak ada, saya berharap masih melihat tautan primer dan sekunder seperti di halaman lain, tetapi yang saya dapatkan adalah tidak ada tautan navigasi di halaman 404. Lihat juga Tidak ada tautan navigasi di 404 halaman .
Saya telah menemukan solusi, tetapi saya senang jika ada hal lain yang dapat memperbaikinya (mungkin tanpa menggunakan modul tambahan).
Anda dapat melakukannya dengan mendefinisikan halaman dalam modul khusus.
Buat halaman untuk kategori "Halaman tidak ditemukan" menggunakan hook_menu().
function MODULE_menu(){
$items['page-not-found']= array('title'=>'','page callback'=>'MODULE_page_not_found','access callback'=> TRUE,);return $items;}function MODULE_page_not_found(){
drupal_set_title('Page not found');
$cust_err ="";
$cust_err = $cust_err ."The requested page ". current_path()." could not be found";return $cust_err;}
Panggilan balik halaman digunakan current_path()untuk mengembalikan jalur halaman yang menyebabkan kesalahan 404.
Buka Admin> Config> Sistem> Informasi situs , dan masukkan halaman-tidak-ditemukan (nama yang sama seperti yang didefinisikan dalam hook_menu) di bawah halaman Default 404 (tidak ditemukan) .
Sekarang halaman kesalahan muncul seperti pada tangkapan layar berikut.
Jelas bahwa itu berisi semua tautan navigasi, dan juga URL halaman yang menghasilkan kesalahan (sangat mirip dengan halaman asli tidak ditemukan). Dan modul yang disebutkan dalam jawaban di atas oleh @ Nikhil akan menampilkan "Halaman yang diminta tidak dapat ditemukan." tetapi tidak mengandung URL halaman yang menyebabkan kesalahan.
Apakah Anda yakin saya akan mendapatkan tautan navigasi di halaman?
niksmac
1
@ NikhilM Saya sudah menguji ini dan screenshotnya nyata ;-)
AjitS
Saya sudah mengujinya sekarang. Saya menyesuaikan teks yang ditampilkan di halaman yang tidak ditemukan. tetapi ternyata itu menunjukkan teks default dari tempat lain! apa yang terjadi di drupal?
shekoufeh
Saya berjuang dengan ini kemarin di tempat kerja, solusi yang sangat bagus.
Cyclonecode
11
Ada modul untuk membuat ini berfungsi 404 Navigasi
Pada halaman kesalahan 404 Tidak Ditemukan, Drupal akan melewatkan rendering semua tautan navigasi situs web Anda untuk alasan kinerja *. Beberapa di antaranya adalah:
Blok "Tautan primer" dan blok tautan menu lainnya. Tautan Primer dan Tautan Sekunder dari tema Anda. * Kecuali Anda telah mengkonfigurasi halaman "Default 404 (tidak ditemukan)" di admin / config / system / site-information.
Alih-alih menunjukkan standar "404 Halaman tidak ditemukan", modul ini melakukan pencarian pada kata kunci dalam URL, misalnya jika pengguna pergi ke http://example.com/does/not/exist , modul ini akan melakukan pencarian untuk "tidak ada" dan menunjukkan hasil pencarian alih-alih halaman 404. Ini akan membantu mempertahankan pengunjung yang datang dari URL lama yang ditautkan dari situs lain atau dari indeks pencarian.
Drupal memiliki kesalahan 404 yang mahal. Di situs 'rata-rata' dengan beban modul 'rata-rata', Anda dapat melihat 60-100MB memori yang digunakan di server Anda untuk menghasilkan 404. Pertimbangkan halaman dengan tautan .gif yang buruk dan file .css yang hilang. Halaman itu akan menghasilkan 2 404s bersama dengan beban halaman yang sebenarnya. Anda kemungkinan besar melihat memori 180MB ke server halaman itu daripada 60MB yang harus diambil.
Saya mengubah pesan kesalahan menjadi t('The requested page "@path" could not be found.', array('@path' => request_uri()));. Dengan cara ini terjemahan Drupal default digunakan ketika situs Anda multilangual.
Ada modul untuk membuat ini berfungsi 404 Navigasi
Juga ada Patch untuk memperbaikinya di D7.
Dalam D8 Lihat INI Juga INI
sumber
Ada juga alternatif modul yang baik:
Cepat 404
sumber
Anda dapat melakukannya dengan mendefinisikan halaman dalam modul khusus.
Buat halaman untuk kategori "Halaman tidak ditemukan" menggunakan hook_menu ().
Hampir bagus. Tetapi kode ini kembali:
perlu mengubah current_path () ke request_uri () dan akan kembali:
sumber
t('The requested page "@path" could not be found.', array('@path' => request_uri()));
. Dengan cara ini terjemahan Drupal default digunakan ketika situs Anda multilangual.