<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
    <p>{$XE_VALIDATOR_MESSAGE}</p>
    </div>

 

위 코드를 레이아웃에 넣는게 맞는건가요? 아니면 없는게 맞는건가요?

 

제작자 마음이다? 라고 하기엔 첨 애매한 것 같습니다.

 

레이아웃에 넣으면 안된다고 한다면 모든 서드파티에서 저 부분을 처리할 수 있도록 해야 하는데 그렇지 못한 경우가 많은 것 같습니다.

 

원래 XE에서는 어떠한 원칙으로 설계가 된 것일까요??

 

오늘 문득 모바일에서 메시지가 뜨지 않는 경우 불편해서 위 코드를 추가하면서 그동안 궁금했던 것을 적어 보았습니다.

 

웹지기

profile
10년을 다루다 보니 이제 간단한 것도 만들고 커뮤니티 운영에 관한 다양한 노하우가 있습니다. 어려운 점이나 가지신 생각을 함께 소통해 보아요.
https://rxtip.kr/ 라이믹스 꿀팁
  • profile

    글쓰기 폼, 로그인 폼 등 사용자가 정보를 입력하고 제출했을 때 비번이 틀리다거나 하는 에러 메시지가 표시되어야 할 부분이 있다면 거기에 넣으시면 됩니다. 레이아웃이라면 대개 로그인 폼이 여기에 해당되겠지요. 로그인 폼을 레이아웃에서 구현하지 않고 그냥 위젯을 사용하거나 로그인 화면으로 링크만 걸어두셨다면 필요없고요.

     

    단, $XE_VALIDATOR_ID도 확인하셔야 합니다. 메시지가 있다고 무조건 표시하면 해당 폼과 전혀 관계없는 에러 메시지까지 죄다 표시되는 수가 있습니다. 기본 회원 스킨 등 다른 곳에서 $XE_VALIDATOR_로 시작하는 변수들을 어떻게 사용하고 있는지 찾아보세요.

  • profile profile
    제가 궁금한건 "기본 회원 스킨 등 다른 곳에서" 코드가 들어가 있는 것이 레이아웃에 넣지 않는 것을 전제한 것인지가 궁금해서 글을 작성한 것 입니다.

    로그인 폼에 해당 부분이 있기 때문에 사실 레이아웃에 넣으면 중복해서 출력이 되어서 궁금해 진 부분이에요.

    만약 필요한데 출력되지 않는 자료가 있다면 그 자료에서 출력이 되도록 하는게 XE의 설계에 맞는 것인거 같은 생각이 들어서요.
  • profile profile

    스킨에 이미 들어가 있는데 레이아웃에 또 넣으면 똑같은 메시지가 2군데 출력되겠지요.

    로그인 폼을 제외하면 레이아웃에서 폼을 사용하는 일은 거의 없으니, 로그인 외에는 레이아웃이 아닌 스킨에서 처리하는 것이 옳습니다.

    꼭 필요하다면 해당 자료에서 사용하는 $XE_VALIDATOR_ID를 파악해서 그 값이 일치할 경우 레이아웃에서 강제로 $XE_VALIDATOR_MESSAGE를 출력해 줘도 되겠지만, 어차피 뭔가를 수정할 거면 스킨을 수정하는 편이 낫겠네요. $XE_VALIDATOR_MESSAGE를 출력하지 않는 자료가 $XE_VALIDATOR_ID를 제대로 사용하고 있을 것 같지도 않고요...

     

    단, 모바일에서 모든 에러 메시지를 특정한 방식으로 표시하고 싶다거나 한 경우에는 레이아웃에서 다 처리하는 것이 나을 수도 있습니다.

  • profile profile
    딱히 원칙을 정하기는 어려운 상황이긴 한 것 같네요. 모든 자료를 한사람이 제작했다면 뭔가 원칙이나 통일성이 있을텐데 레이아웃과 각 자료들이 모두 다른 사람들이 만들기에...

    최근 출석을 간단하게 할 수 있는 위젯을 모바일에도 설치했는데 모바일에서는 출석완료 메시지가 출력되지 않아 모바일에서도 메시지를 출력하게 레이아웃에 넣으면서 생긴 의문이었습니다.

    자세한 답변 감사합니다. 출석부에서 사용하는 id만 넣던지 해서 중복 되는 것을 막아보는 방법을 쓰는게 저희 사이트로서는 최선 일 것 같습니다.
  • profile

    저도 노출이 2곳에 되서 궁금해서 검색해서 왔는데 스킨에서는 빼도 되겠네요.

    그런데 스킨에서는 위치를 지정해주니까 보기 좋게 뜨는데,

    레이아웃에 지정되어 있는건지 하단에 레이어팝업처럼 떠서 어디를 수정해야될지는 더 찾아봐야겠네요.