Thành viên:Nguyenthephuc/Note: Đổi hướng khi truy cập trang chủ

Từ VLOS
Bước tới: chuyển hướng, tìm kiếm

Chúng ta muốn?[sửa]

Mặc định/hiện tại khi người dùng dù đã đăng nhập hoặc chưa đăng nhập mà truy cập vào url http://dethi.thuvienkhoahoc.com thì hệ thống sẽ được đưa đến trang VLOS:Trang Chính. Giờ ta muốn:

  • nếu người dùng đã đăng nhập thì sẽ đổi hướng đến trang cá nhân của họ
  • nếu người dùng chưa đăng nhập thì sẽ đổi hướng đến trang VLOS:Trang Chính (như hiện tại)

Làm thế nào?[sửa]

1) Thay đổi hệ thống messages của giao diện

a) Bạn có thể mở file MessagesVi.php, tìm và sửa đoạn

 'mainpage' => 'VLOS:Trang Chính',

thành

 'mainpage' => 'special:mypage',//trang đặc biệt đổi hướng

b) Tiếp theo, bổ sung thêm giá trị

 'mainpage2' => 'VLOS:Trang Chính',

2) Sửa lại file includes/SpecialPage.php

Tìm đoạn

class SpecialMypage extends UnlistedSpecialPage {
	function __construct() {
		parent::__construct( 'Mypage' );
		$this->mAllowedRedirectParams = array( 'action' , 'preload' , 'editintro', 'section' );
	}
 
	function getRedirect( $subpage ) {
		global $wgUser;
		if ( strval( $subpage ) !== '' ) {
			return Title::makeTitle( NS_USER, $wgUser->getName() . '/' . $subpage );
		} else {
			return Title::makeTitle( NS_USER, $wgUser->getName() );
		}
	}
}

Sửa thành

class SpecialMypage extends UnlistedSpecialPage {
	function __construct() {
		parent::__construct( 'Mypage' );
		$this->mAllowedRedirectParams = array( 'action' , 'preload' , 'editintro', 'section' );
	}
 
	function getRedirect( $subpage ) {
		global $wgUser;
		if ( strval( $subpage ) !== '' ) {
			return Title::makeTitle( NS_USER, $wgUser->getName() . '/' . $subpage );
		} else {
			if ($wgUser->getId()>0) return Title::makeTitle( NS_USER, $wgUser->getName() );
			else return Title::newFromText( wfMsg( 'mainpage2' ) );
		}
	}
}

Chú ý:

Với wiki dethi, cần sửa đổi thêm file .conf (chi tiết xem bên tech)

Cá nhân hóa trang chủ[sửa]

Có thể chuyển tính năng này thành một tùy chọn trong tùy chọn cá nhân, như thế cho phép người dùng lựa chọn trang chủ của mình khi truy cập.

Xem thêm[sửa]

Liên kết đến đây