타운광장토픽게시판

$this->stop();

 

으로 중단을 시키는 코드를 사용하려고 하면 애로사항이 발생할 경우가 종종 있습니다.

 

 

스킨에서 출력해서 유도하는 것들이 조금 과격한 부분이 보여서 사실 오래전 부터 수정해서 사용하고 있습니다.

 

로그인 사용자에게는 로그아웃 버튼으로 로그아웃을 유도하고

비로그인 대상자에게는 로그인을 유도 합니다.

 

 

그나마 xedition 스킨은 뒤로가기 버튼을 제공합니다. 그런데 이 스킨도 비회원에게는 뒤로가기는 제공하지 않습니다.

 

화면 캡처 2021-09-21 004533.png

 

 

화면 캡처 2021-09-21 004600.png

 

 

 

회원들 블로그게시판으로 운영되는 타임라인 게시판에 특정한 접근을 차단하는 것을 기존에 스킨에서 담당하다가 오늘 애드온으로 코드를 옮겨서 비회원도 돌아가기 버튼이 제공되게 해주고 지금 위 두 메시지를 가질때는 로그인 폼을 보여주지 않게 처리했습니다.

 

저 상태에서는 로그인도 되지 않을 뿐더러 불필요한 상황이라서요. (로그인이 안되는 문제는 Context::get('act') == NULL 조건 추가로 act가 없는 상태에서만 작동하도록 개선했습니다. 특정한 조건을 못맞추면 리디렉트가 될 수 있는데 로그인 시도시나 기타 act가 있을때는 문제의 소지가 있어서...)

 

단지 잘못된 접근으로 돌아가기 버튼을 제공해야 하는 시점이었습니다.(비로그인이라 차단된게 아님)

 

시스템 메시지 대신 알럿창과 스크립트 메시지로 뒤로가기를 제공했었는데 위와 같이 제공하는 선에서 구현을 하게 되었습니다.

 

물론 기존부터 시스템 메시지 자체를 수정해서 쭉 사용해왔던 터라 수정에 대한 부담이 커지거나 하진 않았습니다.

 

<form id="message_login_form" ruleset="@login" action="{getUrl('','act','procMemberLogin')}" method="post" cond="!in_array($system_message, array('회원을 특정하지 않으면 접근이 안됩니다.', '없는 회원이거나 휴면회원입니다.'))">

 

비회원에게만 제공되는 form 태그에 미리 말씀 드렸던 cond 조건을 추가해서 조건에 맞는 메시지에서는 나오지 않게 했구요.

 

 

 

이제 비회원에게는 다른 메시지 출력할 경우에는

 

로그인 버튼 + 아래에 뒤로가기 버튼까지 보이게 되었네요.

 

 

화면 캡처 2021-09-21 095103.png

 

 

다양한 경우의 메시지를 반영하기 사실 좀 어려운 면이 많아서 스킨을 커스텀 하는게 최선인 듯 해서 새벽에 글을 하나 작성해 봅니다.

글쓴이 웹지기

profile
XE와 라이믹스를 운영하며 알게된 노하우를 공유합니다.
https://rxtip.kr/ 라이믹스 꿀팁