XE 게시판을 통한 회원 정보 수정을 해보자

| 2014. 3. 9. 17:10

지난 번에는 비슷한 기능을 게시판의 사용자 정의 확장 변수를 이용해서 구현해봤다. 당시 포스트에도 써놨지만, 그 방식은 양방향적인 데이터 전달이 불가능한 형태였다. 도식화하여 이야기하자면 게시판 사용자 정의 확장 변수 변경 > 회원 정보 변경은 가능했으나, 회원 정보 변경 > 게시판 사용자 정의 확장 변수 변경은 가능하지 않다. 어쨌든 해당 기능을 구현하여 외주 웹사이트에 반영을 해보았더니 이상하게도 회원 정보는 정상적으로 바뀌었으나 그 때 글쓴이가 입력한 정보가 게시판 사용자 정의 확장 변수로는 반영되지 않는 버그가 발생하였다. 그 때까지만 해도 테스트 서버와 실서버의 XE 코어 버전이 달랐었는데 뭐 그런 어딘가에서 문제가 발생한 것이 아닌가 싶었다. 아무래도 구조적으로 정해져 있는 것이 분명한 폼의 name 값을 바꿨는데 해당 기능이 제대로 동작하는 것이 수상하긴 했다. 따라서 하드코드의 향연이 펼쳐지긴 하나 직접 회원 정보를 읽어와 해당 게시판의 글 작성/수정 화면에 그대로 때려박는 방식으로 구현을 수정할 필요가 있었다.

지난 번 과정에서 실제로 수정된 부분은 아래 부분이다. module_srl을 하드코드로 받아 글 작성/수정화면의 테마 템플릿 파일(스케치북5의 경우 write_form.html이다.)을 바꾸면 된다. 물론 그렇게 받은 정보를 실제 DB와 연동하는 것은 지난 포스트를 참고해야 한다.


{@
	$logged_info = Context::get('logged_info');
}
원하는 정보

만들어놨을 때는 굉장히 불만족스러운 코드였으나 아무래도 양방향적으로 데이터가 업데이트되는 것이 DB 정합성 면에서는 훨씬 깔끔하니 좋았다. 끝.