테스트 사이트 - 개발 중인 베타 버전입니다

페이지에서 1차, 2차메뉴 현재위치 적용 팁

· 2년 전 · 2749 · 19

안녕하세요~

스킨을 제작하면서 새롭게 알게된 부분이 있어서 이렇게 팁 아닌 팁을 올려볼까 합니다.

현재위치 적용 방법입니다. 문의글에 항상 올라오는 부분이기도 합니다.

이 부분에서 많은 팁들이 있기도 합니다. 

 

게시판 에서는 원하는 위치에 <?php echo $board['bo_subject'] ?> 하면 쉽게 출력이 되죠^^

제가 공유할 팁은 게시판이 아닌 일반 페이지 즉 test.php 라는 페이지에서 현재위치를 적용하고자 할 때 사용하시면 좋을 것 같습니다.

 

고수님들은 다 아시는 부분이라 저처럼 초보자의 입장에서 조금이나마 도움이 될까 생각해 봅니다.

소스코드는 아래와 같습니다.

[code]

<?php

$current_url = $_SERVER['REQUEST_URI'];

$menu_datas = get_menu_db(0, true);

 

// 1차 메뉴와 2차 메뉴 초기화

$first_menu_name = ''; // 1차 메뉴명

$second_menu_name = ''; // 2차 메뉴명

 

foreach ($menu_datas as $row) {

    if ($row['me_name'] === '회사소개') {

        $first_menu_name = $row['me_name']; // 1차 메뉴명 설정

 

        foreach ((array)$row['sub'] as $row2) {

            if ($row2['me_link'] === $current_url) {

                $second_menu_name = $row2['me_name']; // 2차 메뉴명 설정

                break;

            }

        }

       

        break;

    }

}

 

// 현재 위치 출력

if ($first_menu_name && $second_menu_name) {

    echo "<h3>{$second_menu_name}</h3>";

    echo "<span><i class='fa fa-home' aria-hidden='true'></i> <i class='fa fa-angle-right arr' aria-hidden='true'></i> {$first_menu_name} <i class='fa fa-angle-right arr' aria-hidden='true'></i> {$second_menu_name} </span>";

}

?>

[/code]

 

현재 페이지의 URL을 기반으로 1차메뉴와 2차메뉴를 비교 한후 현재 위치를 표시 해주는 방식입니다.

예를 들어 1차메뉴가 회사소개 2차메뉴가 회사소개, 오시는 길, 회사 연혁 이라고 할때 

page.php - 회사소개, page2.php - 회사연혁, page3.php - 오시는길 이렇게 있다고 가정할때

위의 소스를 각 페이지에 원하는 위치에 적용하시면 됩니다.

 

또는 nav.inc.php 이렇게 원하시는 파일로 만드셔서 인클루드 하셔도 됩니다.

 

결과는 홈 > 1차메뉴 회사소개 > 2차메뉴 회사연혁 이렇게 출력이 된다는 얘기입니다.

 

초보자 이다 보니 설명또한 어렵네요 이해해 주시길 바랍니다.

 

오늘도 좋은 하루 되세요~!!

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 19개

2년 전
감사합니다
2년 전
@너나잘해 댓글 감사합니다
2년 전
댓글과 추천해 주신 모든 분들께 감사드립니다
오 좋은 팁이네요 감사합니다
2년 전
@DawnDew 댓글 감사합니다.
2년 전
좋은 팁 감사합니다.
2년 전
@크리스휘 댓글 감사합니다
스크랩해갑니다 감사합니다.

선생님 답변 바랍니다. 

게시글 목록

번호 제목
24149
24140
24133
24125
24119
24109
24105
24101
24093
24089
24077
24074
24071
24070
24067
24056
24050
24046
24043
24040
24037
24036
24035
24034
24021
24017
24005
24002
23990
23980