묻고답하기
회원정보 수정 시, 특정 컬럼이 나오지 않게 하려면 어떻게 해야할까요?
2017.07.16 07:29
module/member/skins/member.view.php
-dispMemberModifyInfo 를 수정해야 한다는것 까지는 찾았습니다.
getMemberInfoByMemberSrl을 통해서 멤버정보를 가져오는데, 사실 columnList를 수정한다고
함수 내부적으로 컬럼을 덜가져오거나하는 건 없게 구성이 되있네요..
따라서 위 코드 기준으로 307번째 라인 전후로 member_info or formTags에 원하지 않는 데이터를 제거하고 넘겨주면 될것 같은데요.. php 문법을 잘 모르기도하고 어떤 변수명으로 객체내에 저장이 되있는지도 몰라 unset함수를 이용해서 몇번 해봤는데 잘 안되네요.ㅠ
시도한건 unset($member_info->email_address) / unset($formtags->email_address) 이런식으로 했었습니다.
코드 삽입 후에도 여전히 회원정보수정 페이지에서 해당 input 태그가 나오는걸로 봐서 제대로 동작이 안하는 것 같아요.
도와주시면 감사하겠습니다.
https://www.xpressengine.com/qna/20312960
이것도 참고했는데 몰라서 질문 남겼습니다.
댓글 2
-
보보2
2017.07.16 08:05
-
보보2
2017.07.17 17:39
본질적으로 controller 단에서 해결하고 싶은데,
도저히 모르겠네요.
그래서 modify_info.html에서 html 그리기 전에
조건처리 해서 해결했습니다.
<label for="{$formTag->name}" cond="$formTag->name != 'email_address'" class="control-label">{$formTag->title}</label>
<div class="controls" cond="$formTag->name != 'signature' && $formTag->name != 'email_address'">{$formTag->inputTag}</div>
다만 control-group 자체는 loop돌기 전에 그리는 부분이라.. 체크 하려면 너무 비효율적인 코드가 될것 같아서 레이아웃이 좀 안 이뻐져도 감안하고 수정했네요.
그냥 css로 readonly를 주면 편하긴한데, 그렇게 되면 css로 풀어버릴 수 있다는 심각한 문제가..있어서 그 방법은 사용하지 않았습니다.
formTag안에 뭐가 들어있나 확인하려고
foreach (formTags as formTag) {
echo formTag;
}
라고 입력해보니 internal server error가 뜨네요.ㅎ