Q&A

애드온의 글 읽기 화면 구분방법

2023.03.27 07:08
3,313
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.4

안녕하세요.

 

Context::get('document_srl')

 

해당 구문으로 글읽기화면을 체크하고 있는데

 

로그아웃 버튼을 눌러도 

dispMemberLogout?category=1234&document_srl=12345

 

document_srl=12345 가 포함되어있어서 글읽기 화면으로 인식을하네요.

 

Context::get('document_srl')

보다 더 명확한 글읽기 페이지를 체크하는 방법이 있을까요?

톰캣 Lv. 11
시대의 흐름에 뒤떨어지지 않도록 아주 천천히지만 노력하고 있습니다.

댓글 10

  • 2023.03.27 07:23 #1753847
    Context::get('act') 가 dispBoardContentView 일때가 있으면 구별이 가능하지만 대부분 리스트 및 게시글 확인을

    dispBoardContent 에서 다 처리하고 있어서요..

    Context::get('oDocument'); 을 가져와서 해당 값이 있으면 게시글을 읽는것이고 없으면 해당 값을 읽지 않는것이니 확인해보세요
  • 2023.03.27 07:29 #1753853

    답변감사합니다.

    if ($called_position == 'before_module_proc' && (Context::get('act') == 'procBoardInsertDocument' || Context::get('act') == 'dispBoardWrite' || Context::get('document_srl')))

     

    에서

     

    if ($called_position == 'before_module_proc' && (Context::get('act') == 'procBoardInsertDocument' || Context::get('act') == 'dispBoardWrite' || Context::get('oDocument')))

     

    로 해보았는데 작동하지 않는 것 같습니다.

  • 2023.03.27 07:30 #1753862
    Context::get('oDocument') 랑
    Context::get('module_info') 랑 같이 두개 디버그 찍어보세요.
  • 2023.03.27 07:31 #1753865

    우선 act가 dispBoardContent인 경우로 제한해 놓고, 목록 화면과 글읽기 화면을 구분할 방법만 찾으면 되겠지요. 그 상황에서는 oDocument가 도움이 됩니다.

    act를 먼저 확인하지 않으면 글 수정 화면, 삭제 화면 등 "특정한 문서"를 조작하는 다른 화면에도 oDocument가 존재하므로 구분이 불가능합니다.

     

    위의 코드에서는 글읽기가 아닌 글쓰기 act를 참조하고 있네요.

  • 2023.03.27 07:36 #1753878
    dispBoardContent를 추가하여서 정상 작동됨을 확인하였습니다.

    감사합니다.
  • 2023.03.27 07:37 #1753882
    그럼 글쓰기와 관련된 act는 목록에서 삭제하세요.
  • 2023.03.27 07:38 #1753886

    아 저같은 경우는 글쓰기 글 읽기 2가지 경우에 다 제한을 주려고 하다 보니 저렇게 되었네요. ㅎㅎ

    완벽하게 작동하는것 같습니다.

  • 2023.03.27 07:39 #1753898
    oDocument 랑 Context::get('act') == 'dispBoardContent' 를 묶을때는 || or이 아니라 And으로 묶어서 검사하세요
    if ($called_position == 'before_module_proc' && (Context::get('act') == 'procBoardInsertDocument' || Context::get('act') == 'dispBoardWrite' || Context::get('oDocument') && Context::get('act') == 'dispBoardContent'))
  • 2023.03.27 07:38 #1753890
    아하 그러네요.
  • 2023.03.27 07:38 #1753894
    감사드립니다!!