it-swarm-id.com

Mengganti nama sistem dalam pesan pengguna baru

Ini untuk Joomla 2.5, meskipun saya menduga itu sama untuk seri 3.x.

Saya memiliki server di belakang firewall NAT-ing, dan karena itu alamat IP sebenarnya dari server adalah alamat 192.168, tetapi bagi pengguna untuk mencapainya mereka mengaksesnya sebagai www.mydomain.com, yang disetel ke luar alamat firewall (bukan alamat 192.168).

Ketika pengguna dibuat, pesan default keluar, yang meliputi:

This email contains your username and password to log in to http:// 192.168.1.100

Alamat ini tidak dapat dijangkau, dan saya lebih suka pesannya:

This email contains your username and password to log in to http://www.mydomain.com

Saya bisa masuk dan mengubah kode sumber Joomla untuk memaksa perubahan pada pesan, tapi saya berasumsi ada cara yang lebih sederhana untuk menyelesaikan ini dan saya hanya menderita karena tidak melihat hutan karena saya terlalu dekat dengan pohon.

Saya bertanya-tanya apakah ini sederhana seperti menempatkan entri di tabel Host, atau catatan PTR di DNS lokal, yang akan memetakan 192.168.1.100 ke www.mydomain.com.

4
Douglas Pickett

Edit plugin/pengguna/joomla/joomla.php:

$emailBody = JText::sprintf(
    'PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY',
    $user['name'],
    $this->app->get('sitename'),
    JUri::root(),
    $user['username'],
    $user['password_clear']
);

Ganti JUri::root() dengan http://www.mydomain.com

2
sovainfo

Anda dapat mencoba menyetel $ live_site di configuration.php.

3
sovainfo

buat bahasa ganti untuk 'PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY' di administrator lokasi:

PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY="Hello %s,\n\n\nYou have been added as a User to HTTP://www.mydomain.com (%s) by an Administrator.\n\nThis email contains your username and password to log in to %s\n\nUsername: %s\nPassword: %s\n\n\nPlease do not respond to this message as it is automatically generated and is for information purposes only."

Ubah semua% s dengan% 1 $ s,% 2 $ s,% 3 $ s,% 4 $ s Meninggalkan% 2 $ s harus menekan nomor ip

3
sovainfo

Cara paling sederhana adalah mengedit file bahasa yang berisi entri itu (hardcode-nya).

File bahasa terletak di folder: language (dan kemudian di dalam folder bahasa untuk setiap bahasa yang diinstal).

Untuk situs saya tidak mendapatkan domain, jadi mungkin ada sesuatu yang tidak diatur dengan benar di server Anda.

1
jackJoe

Mengetahui apa yang sedang terjadi - terima kasih atas saran yang mengirim saya ke jalan yang benar.

Dalam hal ini, masalahnya adalah karena admin yang membuat akun berada di belakang firewall yang sama dengan server. Nama untuk sistem yang dimasukkan ke dalam pesan dibuat dengan mengambil nilai "HTTP_Host" dari lingkungan sesi dan mencerminkan URL yang Anda hubungkan - yang bukan nama tetapi alamat IP dalam situasi ini. Jika Anda berada di belakang firewall, Anda mendapatkan nilai di balik firewall - jika Anda berada di luar firewall, Anda mendapatkan nilai di luar firewall, itulah sebabnya ini biasanya memberikan jawaban yang benar ketika server berada di lingkungan yang dihosting.

Agar ini berlaku, saya harus mengatur DNS dengan tampilan terpisah - sehingga admin selalu terhubung ke www.mydomain.com. Jika Anda berada di belakang firewall, DNS memberi Anda alamat 192.168, jika Anda berada di luar firewall, Anda menerima IP eksternal ketika simbol www.mydomain.com diputuskan menjadi alamat IP.

Kemudian, ketika pesan dikirim, isi pesan berisi www.mydomain.com dalam kedua kasus.

Adapun cara mengganti nilai http: // yang dikirim, ya, saran tentang penulisan ulang kode di plugin/user/joomla/joomla.php sudah benar. Kecuali dalam this case - situs menggunakan ekstensi "Login One" untuk membatasi sesi pengguna secara bersamaan, dan ekstensi mengganti kode Joomla standar dengan plugin mereka sendiri, sehingga perlu diubah dalam kode ekstensi bukan tempat standar.

Jadi, terima kasih atas semua sarannya, akan jauh lebih sulit untuk mencapai jawabannya tanpa mereka.

1
Douglas Pickett