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.

Nuno Nogueira
sumber
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

Lodder
sumber
+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