Q&A

안녕하세요.

메뉴 타입을 "바로가기"로 생성 시 해당 메뉴를 선택하더라도

레이아웃에서 selected 가  선택된 상태( [selected] => 1) 로 세팅되지 않네요.

메뉴 선택 시 selected 값을 바꾸는 로직이 있는 소스 위치가 어디인가요?

 

법률검토 Array
(
    [node_srl] => 531
    [parent_srl] => 0
    [menu_name_key] => 법률검토
    [isShow] => 1
    [text] => 법률검토
    [href] => /index.php?mid=legal&act=dispCmbidLegalExamList
    [url] => /index.php?mid=legal&act=dispCmbidLegalExamList
    [is_shortcut] => Y
    [desc] =>
    [open_window] => N
    [normal_btn] =>
    [hover_btn] =>
    [active_btn] =>
    [selected] => 0
    [expand] => N
    [list] => Array
        (
            [532] => Array
                (
                    [node_srl] => 532
                    [parent_srl] => 531
                    [menu_name_key] => 법률검토요청
                    [isShow] => 1
                    [text] => 법률검토요청
                    [href] => /index.php?mid=legal&act=dispCmbidLegalExamReq
                    [url] => /index.php?mid=legal&act=dispCmbidLegalExamReq
                    [is_shortcut] => Y
                    [desc] =>
                    [open_window] => N
                    [normal_btn] =>
                    [hover_btn] =>
                    [active_btn] =>
                    [selected] => 0
                    [expand] => N
                    [list] => Array
                        (
                        )

                    [link] => 법률검토요청
                )

            [533] => Array
                (
                    [node_srl] => 533
                    [parent_srl] => 531
                    [menu_name_key] => 법률검토현황
                    [isShow] => 1
                    [text] => 법률검토현황
                    [href] => /index.php?mid=legal&act=dispCmbidLegalExamList
                    [url] => /index.php?mid=legal&act=dispCmbidLegalExamList
                    [is_shortcut] => Y
                    [desc] =>
                    [open_window] => N
                    [normal_btn] =>
                    [hover_btn] =>
                    [active_btn] =>
                    [selected] => 0
                    [expand] => N
                    [list] => Array
                        (
                        )

                    [link] => 법률검토현황
                )

        )

    [link] => 법률검토
)

 

댓글 12

  • 2018.08.19 12:19 #1042744
    미드값과 액트값이 연결되는 메뉴의 노드srl과 일치할 때를 검사해야겠네요
  • 2018.08.19 14:31 #1042873
    menu.admin.controller.php 파일 getPhpCacheCode 함수에서 처리하는 것 같네요.
    후아, 근데 selected 값 복잡하군요;;;;
  • 2018.08.20 04:07 #1043151

    네.. 감사합니다. 저도 확인했어요~
    mid 값 가지고 비교하여 selected 값 세팅 처리를 하고 있어서 그렇군요.
    "selected" => (array(%s) && in_array(Context::get("mid"), array(%s)) ? 1 : 0)

  • 2018.08.20 05:53 #1043286
    저도 이 문제로 애먹은 적이 있고 해서 XE 깃허브에 이슈 넣었습니다. 부디 잘 해결되길..
  • 2018.08.20 05:55 #1043290

    XE코어 문제인가요? 저는 대부분 바로가기로 메뉴를 사용하는데 잘 되고 있는데요......

    제가 확인한 방법은 2차메뉴 클릭해서 해당 서비스에 머무를때 메뉴의 css를 보고 잘 된다고 판단하고 있습니다.

  • 2018.08.20 05:58 #1043295
    어? 그럼 사용하시는 레이아웃에선 selected 말고 다른 걸로 '선택' 확인을 하는 건가요?
  • 2018.08.20 05:59 #1043299
    저도 기술적인 것을 잘 몰라서 제가 가시적으로 확인한 방법을 알려드렸는데요.. 레이아웃에서 별다른 것이 없었던 것으로 기억합니다. css에서 처리한 것 외에는요...
  • 2018.08.20 06:00 #1043307
    <li class="li1<!--@if($val['selected'])-->{@$selected=$val;$category=$val;} on1<!--@end--><!--@if($val['list'])--> sub1<!--@end-->">

    이런식으로 처리한 것으로 보아 다른 기술이 적용된 것은 없어 보입니다.
  • 2018.08.20 06:45 #1043375
    제 개인적인 의견은 in_array 로 처리하고 있는 부분을 $mid + $act 값을 보고
    비교하여 처리하도록 변경하면 될 것 같습니다.
  • 2018.08.20 07:00 #1043399
    document_srl 이 있는 특정 문서, 카테고리 주소 등을 바로가기로 메뉴에 올릴 수도 있는데, 한꺼번에 잘 처리되면 좋을 것 같아요.
  • 2018.08.20 07:24 #1043436
    그러네요. 그럼 current_url 로 일일히 비교해야 된다는 이야기네요.
    그럼 node_srl 값 가지고 처리하는게 젤 좋을려나요. ㅎ
  • 2018.09.18 22:38 #1072158
    카이로스님 잘 해결하셨나요? 해결방법이 있는지 궁금합니다.