코드이그나이터 기반 PHP 오픈소스 게시판 : 씨아이보드

side menu 수정

좌측메뉴를 여기저기 팁들 검색해서 짜집기했습니다.


side menu에

아웃로그인 -  해당 1,2차 메뉴  -  최신글  -   tag  -  banner


순으로 붙여놓았습니다


원본 백업하시고 아래 ## 짜집기-수정-sidebar.php  로  변경하세요..




## 원본 sidebar.php


<!-- sidebar start -->
<?php
$this->load->view(element('layout_skin_path', $layout) . '/box/login');
$this->load->view(element('layout_skin_path', $layout) . '/box/latest');
$this->load->view(element('layout_skin_path', $layout) . '/box/tagcloud');
?>
<!-- sidebar end -->




## 짜집기 수정 sidebar.php




<?php
// out login start
$this->load->view(element('layout_skin_path', $layout) . '/box/login');
//out login end


//sub menu start

// 만약 $view['board_key'] 값이 존재하면 게시판의 읽기또는 쓰기페이지라는 거고 없다면 url로 판단
if(isset($view['board_key'])) {
 $chk_url = $view['board_key'];
} else  {
 // 마지막 url 값으로 판단
 $url = explode('/', $this->uri->uri_string()) ;
 $chk_url = $url[count($url)-1] ;
}

if (element('menu', $layout)) {
 $menu = element('menu', $layout);

 // 메뉴 배열의 길이만큼 반복
 foreach($menu as $ml_arr) {
  foreach($ml_arr as $mll) {
   if(strstr($mll['men_link'], $chk_url)) { // 문자열 포함하고 있다면 으로 한다. 같은 카테고리에 세부 카테고리가 생길수 있으므로
    // 메뉴 아이디 가지고 온다. 그메뉴만 추출하기 위함
    $currentmemu_parentid = $mll['men_parent'] ;
    $currentmemu_id = $mll['men_id'] ; // 서브메뉴 없을때
   }
  }
 }

 if (element(0, $menu)) {
  foreach (element(0, $menu) as $mkey => $mval) {
   if ($currentmemu_parentid == element('men_id', $mval)) {
    $mlink = element('men_link', $mval) ? element('men_link', $mval) : 'javascript:;';
    $menuhtml = '<div class="sidebar_menu"><div class="headline"><h3>';
    
    $menuhtml .= '<ul>';
    $menuhtml .= '<li><a '.$aclass.' href="' . $mlink . '" ' . element('men_custom', $mval);    
    if (element('men_target', $mval)) {
      $menuhtml .= ' target="' . element('men_target', $mval) . '"';
    }
    $menuhtml .= ' title="' . html_escape(element('men_name', $mval)) . '">' . html_escape(element('men_name', $mval)) . '</a></li></h3></div>';


    foreach (element(element('men_id', $mval), $menu) as $skey => $sval) {
     $slink = element('men_link', $sval) ? element('men_link', $sval) : 'javascript:;';
     // 현재페이지 찾는부분
     if(strstr($slink, $chk_url)) {
      $aclass = 'class="on"' ;
     } else {
      $aclass = '' ;
     }
     $menuhtml .= '<li><a '.$aclass.'href="' . $slink . '" ' . element('men_custom', $sval);
     if (element('men_target', $sval)) {
      $menuhtml .= ' target="' . element('men_target', $sval) . '"';
     }
     $menuhtml .= ' title="' . html_escape(element('men_name', $sval)) . '">' . html_escape(element('men_name', $sval)) . '</a></li>';
    }
    $menuhtml .= '</ul></div>';
   } else if( $currentmemu_id == $mkey) {   
    $mlink = element('men_link', $mval) ? element('men_link', $mval) : 'javascript:;';

//대메뉴 시작
    $menuhtml = '<div class="sidebar_menu"><div class="headline"><h3>';
    $menuhtml .= '<ul>';
    $menuhtml .= '<li><a '.$aclass.' href="' . $mlink . '" ' . element('men_custom', $mval);
    if (element('men_target', $mval)) {
      $menuhtml .= ' target="' . element('men_target', $mval) . '"';
    }
    $menuhtml .= ' title="' . html_escape(element('men_name', $mval)) . '">' . html_escape(element('men_name', $mval)) . '</a></li></h3></div>';

//소메뉴 시작
     foreach (element(element('men_id', $mval), $menu) as $skey => $sval) {
     $slink = element('men_link', $sval) ? element('men_link', $sval) : 'javascript:;';
     // 현재페이지 찾는부분
     if(strstr($slink, $chk_url)) {
      $aclass = 'class="on"' ;
     } else {
      $aclass = '' ;
     }
     $menuhtml .= '<li><a '.$aclass.'href="' . $slink . '" ' . element('men_custom', $sval);
     if (element('men_target', $sval)) {
      $menuhtml .= ' target="' . element('men_target', $sval) . '"';
     }
     $menuhtml .= ' title="' . html_escape(element('men_name', $sval)) . '">' . html_escape(element('men_name', $sval)) . '</a></li>';
    }
    $menuhtml .= '</ul></div>';

//소메뉴 끝


   }
  }
 }
}


// menu view 메뉴노출
echo $menuhtml;

// 만약 현재 페이지에서 메뉴가 없다면 노출한다.
//if(isset($menuhtml)) {
// echo $menuhtml;
//} else {


echo '<br>';


//sub menu end


//latest start
$this->load->view(element('layout_skin_path', $layout) . '/box/latest');

// tag start
$this->load->view(element('layout_skin_path', $layout) . '/box/tagcloud');

//banner start
echo banner($position='sidebar', $type='rand', $limit = '2', $start_tag='', $end_tag='');


?>


1
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오톡으로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

자유게시판

번호 제목 글쓴이 날짜 조회수
공지 프리미엄 버전을 공개합니다. +15 icon 관리자 06-21 5,520
66 처음 둘러봅니다 핫슈 7일전 36
65 CIBoard 설치 완료! icon 아파치 09-22 409
64 자동등록 방지 문자가 보이지 않습니다. 김득구 09-09 248
63 side menu 수정 순돌아범 08-17 415
62 드디어 씨아이보드 설치를 합니다. +1 icon 해피정 08-10 461
61 가입 인증 메일이... fm25 08-06 299
60 코드이그나이터 경기는 어떤지 궁금하네요 ㅎ~ icon 동서남북 08-04 372
59 오랜기간 그누보드를 써오다가... +1 제윤아빠 08-02 451
58 퇴근 후, 싸나이님과 대화했던 event trigger 테스트를 해봤습니… +2 icon 동서남북 07-18 414
57 게시판 스킨 튜닝해보고 있네요. +10 icon 동서남북 07-13 512
56 좋은 아침입니다. 명언하나 던지고 갑니다. +2 icon 동서남북 07-12 346
55 주말을 기해서.... +1 icon 아파치 07-10 322
54 제 홈페이지를 CI보드로 제작하고 있습니다. +6 icon 동서남북 07-07 620
53 메인페이지 꾸밀려면 뭘 손대야하나요? +1 나연가온아빠 07-06 383
52 테마80%완성되가네요. +7 icon 동서남북 07-02 520
51 예전에 그누보드 커스터마이징 할때처럼... +2 icon 동서남북 06-25 537
50 aside 서브메뉴 짜집기 코딩 성공 ㅡㅡ;; icon 동서남북 06-24 356
49 사용후기 ㅡㅡ;; icon 동서남북 06-23 444
48 아 1번째 실패하고 드뎌 테마 플밍작업 끝냈네요. icon 동서남북 06-23 430
47 안녕하세요. 새내기 인사드립니다. +2 icon 해피정 06-23 361