Arahkan pengguna ke halaman terakhir yang dikunjungi, setelah masuk dari komponen


8

Di Joomla 3.5.1, saya ingin mengarahkan pengguna ke halaman mereka sebelum masuk.

Jika mereka masuk dari mod_login, tidak masalah, karena modul ini tertunda dari menu atas, mereka hanya tinggal di halaman itu.

Masalah terjadi ketika pengguna masuk dari komponen: mereka selalu diarahkan ke halaman profil.

Di item menu index.php?option=com_users&view=loginada opsi untuk mengarahkan pengguna setelah login.

Tetapi bagaimana saya memberi tahu: " Get them back to the page they were before"?

Komponen tertentu menambahkan sesuatu seperti:

?return=L2YlQzMlQjNydW0tcGVyZ3VudGFzLWUtcmVzcG9zdGFzL2NvbnZlcnNhdGi9yZWFkLmh0bWw/aWQ9MjU=

Ke URL, meminta pengalihan ke halaman tertentu.

Tetapi mereka selalu kembali ke halaman profil.


they always go back to the profile page.itu terjadi pada saya, terlepas dari memodifikasi seperti yang disarankan @Lodder.
kokbira

Jawaban:


7

Cukup sederhana untuk melakukan ini.

Pertama-tama Anda harus membuat Override Template untuk file berikut:

components/com_users/views/login/tmpl/default_login.php

Setelah selesai, buka file berikut (override Anda):

templates/MY_TEMPLATE/html/com_users/login/default_login.php

dan pergi ke baris 81, di mana Anda akan melihat kode berikut:

<input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('login_redirect_url', $this->form->getValue('return'))); ?>" />

dan ganti dengan:

<input type="hidden" name="return" value="<?php echo base64_encode($_SERVER['HTTP_REFERER']); ?>" />

Semoga ini membantu


+1 Ide yang sangat bagus. Saya tidak yakin apakah $_SERVER['HTTP_REFERER']itu selalu pilihan yang valid, tapi saya suka idenya.
mavrosxristoforos

@mavrosxristoforos - Ya itu memang memiliki beberapa kekurangan . Solusi yang lebih canggih dan andal akan melibatkan plugin sistem, memanfaatkan sesi atau cookie
Lodder

Terima kasih banyak untuk membantu, saya telah menggunakan template override untuk K2 selama bertahun-tahun tetapi untuk joomla inti sepertinya tidak mungkin. Saya memang melihat petunjuk di tautan Anda, termasuk bagian "Membuat penggantian" tetapi perubahan apa pun yang saya lakukan diabaikan.
Nuno Nogueira

@NunoNogueira - File yang Anda buka untuk membuat perubahan, apakah path cocok dengan apa yang saya berikan dalam jawaban saya (potongan kode ke-2)? Itu harus persis sama, selain dari MY_TEMPLATEyang tentu saja adalah nama template Anda
Lodder

@NunoNogueira - Saya membuat kesalahan dengan path, saya telah memperbaruinya sekarang. (hapus /view/)
Lodder
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.