side menu 수정
- 순돌아범
- 0
- 2,491
- 글주소
- 08-17
좌측메뉴를 여기저기 팁들 검색해서 짜집기했습니다.
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='');
?>