XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
출처 | sejin7940 |
---|
다른 사람의 닉네임을 클릭했을때..
로그인을 안 한 상태에서도 '홈페이지/블로그/작성글 보기' 항목은 무조건 나타난다.
이것까지도 로그인 한 회원이 아니면 안 나타나게 하고프면 어떻게 해야할까?
(이 팁은 추후 강좌에 기재 예정)
=========================================================================
크게 두가지 방법이 있다.
하나는 스킨에서 직접 제어해주는건데
보통 스킨내의 닉네임 출력하는 부분을 보면
<a href="#popup_menu_area" class="member_{$document->get('member_srl')}"> 형태의 태그가 앞에 붙어있을것이
다
class="member_{$document->get('member_srl')}" 이런 형태부분들이 클릭시 효과를 주게 하는 부분이다.
따라서 이 a 태그 자체를 <!--@if($logged_info)--> ~ <!--@end--> 로 감싸서 로그인한 회원에게만 가능하게 하
는 방법이다
다만 문제는, 스킨내의 닉네임이 나오는 모든 부분.
최근게시물 위젯들도 전부 다 수정해야한다는 점이다. ^^; (이게 은근히 작업량이 많다)
두번째는 아예 이 행위를 하는 소스 자체를 지우는거다.
작성글 보기를 로그인회원에게만 나오게 하려면
modules/board/baord.controller.php 에서
function triggerMemberMenu 에서
$oMemberController->addMemberPopupMenu($url, 'cmd_view_own_document', ''); 를
if($logged_info) $oMemberController->addMemberPopupMenu($url, 'cmd_view_own_document', ''); 로 교체하면 된
다.
홈페이지와 블로그를 로그인회원에게만 나오게 하려면
moduls/member/member.model.php 에서
function getMemberMenu() 내에
// View homepage info
if($member_info->homepage)
$oMemberController->addMemberPopupMenu(htmlspecialchars($member_info->homepage), 'homepage', '', 'blank');
// View blog info
if($member_info->blog)
$oMemberController->addMemberPopupMenu(htmlspecialchars($member_info->blog), 'blog', '', 'blank');
부분을 아래걸로 교체하면 된다.
if($logged_info) {
// View homepage info
if($member_info->homepage)
$oMemberController->addMemberPopupMenu(htmlspecialchars($member_info->homepage), 'homepage', '',
'blank');
// View blog info
if($member_info->blog)
$oMemberController->addMemberPopupMenu(htmlspecialchars($member_info->blog), 'blog', '', 'blank');
}
XE가 업데이트 될때마다 이 부분 소스가 변경되지 않았는지 검토해서 재수정해야하는게 귀찮긴하지만..
모든 스킨과 위젯, 레이아웃등을 수정하는것 보다는 훨씬 편할지도 모른다 ^^;;