처음에 가입할 때 닉네임을 정하잖아요. 그 이후에는 회원들이 닉네임을 변경하지 못하게 할 수도 있나요?
관리자 페이지에서 찾아봐도 없는거 같아서요...ㅠ 혹시 제가 잘 못 찾은거라면 죄송합니다.. ㅠㅠ
처음에 가입할 때 닉네임을 정하잖아요. 그 이후에는 회원들이 닉네임을 변경하지 못하게 할 수도 있나요?
관리자 페이지에서 찾아봐도 없는거 같아서요...ㅠ 혹시 제가 잘 못 찾은거라면 죄송합니다.. ㅠㅠ
아니요. 간단한게 아니라 설명을 처음부터 하기는 어렵겠어요. 모듈을 사용하시는게 편하실 듯 합니다.
저희는 애드온을 사용해서 뚫렸던 것이라 모듈은 아마 뚫일일 없지 싶습니다.
* 닉네임, 이름 변경 금지 시키기
xe - modules - member - member.admin.view.php 파일을 열고 508열~쯤?
else
{
$formTag->type = 'text';
$inputTag = sprintf('<input type="text" name="%s" id="%s" value="%s"/>',
$formInfo->name,
$formInfo->name,
$memberInfo[$formInfo->name]);
이 내용 바로 위에
else if(($formInfo->name == 'user_name' || $formInfo->name == 'nick_name') && Context::get('logged_info') && Context::get('logged_info')->is_admin != 'Y'){
$inputTag = sprintf('<input type="text" name="%s" value="%s" disabled="disabled" readonly="readonly" />',
$formInfo->name,
$memberInfo[$formInfo->name]);}
이 내용을 추가해 줍니다.
----------------------------------------------------
** 참고로 이메일 수정 금지 시키기
위 같은 파일 조금 위에 ...?
else if($formInfo->name == 'email_address')
이것를 주석처리하고 바로 아래줄에
else if(($formInfo->name == 'email_address') && Context::get('logged_info') && Context::get('logged_info')->is_admin != 'Y')
이 것을 넣어줍니다.
그리고 바로 아래 아래 있는
$inputTag = '<input type="email" name="email_address" id="email_address" value="'.$memberInfo['email_address'].'" />';
이 것을 찾아서
$inputTag = '<input type="email" name="email_address" id="email_address" value="'.$memberInfo['email_address'].'" disabled="disabled" />';
로 수정해줍니다.
스크립트보다 가장 확실한 방법
--> 회원정보 수정 폼에서 닉네임 항목을 지워버리면 됩니다. 저희가 그렇게 하고 있습니다. 기존에 나온 자료가 스크립트가 동작이 원할하지 않을때 뚫리는 경우가 있어서... 저희는 아예 회원가입이 아닌 회원정보수정 폼에서 지워버렸습니다.
<!--@if($formTag->name=='nick_name')-->
<!--@end-->
또는
cond="$formTag->name=='nick_name'"
이런 조건으로 해당항목만 제어할 수 있습니다.