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

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

· 2년 전 · 2750 · 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년 전
@myfree 과찬이십니다. 많이 부족한 초보자입니다...^^
2년 전
내용 관리 아닌 일반 페이지에 필요한 좋은 내용 감사 합니다.
2년 전
@들레아빠 댓글 감사합니다
감사합니다.
2년 전
@써맨 댓글 감사합니다

게시글 목록

번호 제목
23798
23797
23792
23791
23785
23781
23770
23766
23764
23761
23747
23732
23724
23718
23706
23700
23697
23686
23682
23681
23680
23678
23665
23644
23643
23639
23637
23630
23626
23616