차후 g4 업그레이드 버전에서는 다음 기능도 포함되면 괜찮을 듯 합니다. > 자유게시판

자유게시판

차후 g4 업그레이드 버전에서는 다음 기능도 포함되면 괜찮을 듯 합니다. 정보

차후 g4 업그레이드 버전에서는 다음 기능도 포함되면 괜찮을 듯 합니다.

본문

◎ 기본 버전에 메뉴스킨의 첨부 ◎
 
[세부사항]
 
-. 기본환경설정 파일(/config.php)에 menu스킨 관련 변수 언급.
 
-. 관리자모드 > 기본환경설정 > 메뉴스킨 선택 select box 지원.
추천
0

댓글 7개

언급하신김에 나스카님께서 베이직하게 하나 짜주세요.^^;

다른 예기로 일전에 말씀하신 $gur과 관련해서 comfig.php에
//그룹별로 템플릿을 다르게 적용
$g4['template']          = "template";
$g4['template_path']    = $g4['path'] . "/" . $g4['template'];

그리고 헤더에 불러들일 별도 환경설정 파일에
//템플릿 폴더내 그룹 폴더가 있는지 검사
if (!is_dir($g4['template_path'] . '/' . $gur)) {//템플릿 폴더가 없다면 기본그룹 적용
    echo("<script>location.replace('$g4[path]');</script>");
    }
//그룹별 분기- 호출방법 /g4/?gur=그룹아이디
if ($gur == "" && $gr_id == "" && $bo_table == "") $gur = 'work'; //기본그룹
if ($gur == "") $gur = $gr_id ;
if ($gur == "") $gur = $bo_table ;

$tpl  = array();
$tpl['comm_path']    = $g4['template_path'] . '/' . "common"; //환경설정 파일 및 공통메뉴 폴더
$tpl['menu_path']    = $g4['template_path'] . '/' . "menu"; //메뉴파일 폴더
$tpl['community_path']    = $g4['template_path'] . '/' . "community"; //커뮤니티 폴더
$tpl['img_path']    = $g4['template_path'] . '/' . "images"; //이미지
    $tpl['img_logo']  = $tpl['img_path'] . '/' . "logo";//로고
    $tpl['img_bg']    = $tpl['img_path'] . '/' . "bg"; //배경
    $tpl['img_btn']    = $tpl['img_path'] . '/' . "btn"; //버튼

이상 플소위 혼자 흐믓하게 사용하는 그룹별 레이아웃 내맘대로 핵심 소스입니다.^^;
//그룹별로 템플릿을 다르게 적용
$g4['template']          = "template";
$g4['template_path']    = $g4['path'] . "/" . $g4['template'];

그리고 헤더에 불러들일 별도 환경설정 파일에
//템플릿 폴더내 그룹 폴더가 있는지 검사
if (!is_dir($g4['template_path'] . '/' . $gur)) {//템플릿 폴더가 없다면 기본그룹 적용
    echo("<script>location.replace('$g4[path]');</script>");
    }
~ 여기까지만 대충 이해해 보려고 노력하고 있습니다.

그런데 굳이 다음과 같이 셋팅을 잡는 이유가 뭘까 궁금할 따름입니다.
$g4['template']          = "template";
$g4['template_path']    = $g4['path'] . "/" . $g4['template'];

$g4['template']라는 변수가 path를 지정하기 위해 단 한번 사용되는 것 외에,
직접 해당되는 스킨에서 사용되거나 라이브러리쪽과 연관되는 내용이 있나요?
물론 알아보기 쉽게 체계적으로(?! 변수로 경로를 지정한 후, 전체적인 경로(_path))를 끌어내는 것),
환경설정에 추가하시려는 의도는 충분히 눈으로 들어오기에 이해가 가능하나,
직접적으로 봤을 때는 php파일 자체의 낭비(즉, 파일크기의 낭비)이며 큰 의미가 없는 듯 합니다.


아 참!!!
가장 중요한 것은 단순합니다.
기본틀을 잡는 데 있어서 이렇게도 간편한 기능이 언제나 팁으로만 제공되는 것이 아니라,
'배포되는 버전에 포함되는 것이 기본사항이면 좋을것 같다.'는 것입니다.
'포함되고 다듬고'하는 영역은 제 영역이 아니며,
단순히 필요성에 대한 부분만 바라봐 주셨으면 합니다.
config.php에서 상수선언부에 추가하지않고 환경 파일에서 전체적으로 처리해서 사용하다 최근에 수정했습니다.

이전엔 이렇게,,
//그룹별 분기- 호출방법 /g4/?gur=그룹아이디
if ($gur == "" && $gr_id == "" && $bo_table == "") $gur = 'work'; //기본그룹
if ($gur == "") $gur = $gr_id ;
if ($gur == "") $gur = $bo_table ;

$tpl = array();

$tpl['abs_root']=$_SERVER['DOCUMENT_ROOT']; //루트
$tpl['g4']=$tpl['abs_root'] . "/" . "g4"; //G4 절대 경로
$tpl['template_path']=$tpl['g4'] . "/" . "template"; //template환경설정 및 그룹별 화일 최상위
$tpl['comm_path']=$tpl['template_path'] . "/" . "common"; //환경설정 화일 및 공통메뉴 폴더
$tpl['menu_path']=$tpl['template_path'] . "/" . "menu"; //메뉴파일 폴더

$tpl['template_url']="http://" . $_SERVER["HTTP_HOST"] . "/" . "g4/template";//template url
$tpl['etc_url']=$tpl['template_url'] . "/" . "etc"; //etc url
$tpl['img_url']=$tpl['template_url'] . "/" . "images"; //이미지 url


두 경우 모두 $tpl변수를 인틀루드 패스나 링크등에 사용해왔습니다.
즉 그누보드 원본 이외의 파일형 메뉴나 스킨등은 template폴더 하위에 공통 폴더를 만들어 넣어두고
원본(헤드 인덱스 테일)에는
include_once($g4['template_path'] . '/' . "common/_common.php");
include_once($g4['template_path'] . '/' . $gur . '/' . "top.php");
include_once($g4['template_path'] . '/' . $gur . '/' . "nav.php");

include_once($g4['template_path'] . '/' . $gur . '/' . "body.php");
include_once($g4['template_path'] . '/' . $gur . '/' . "banner.php");

include_once($g4['template_path'] . '/' . $gur . '/' . "bottom.php");
$gur변수로 분기될 해당 레이아웃파일의 인클루드문 밖에 없고
해당 그룹폴더의(톱 나브 보디 배너 보텀) 파일들에서 세부 코딩을 해주고 있습니다.


config.php에서 $g4['template_path']를 선언할 경우 환경파일의 url관련 부분이 필요없어집니다.
그누보드 하위에서는 경로 및 링크지정시 정확하게 상대경로로 찍어주어 좀더 편리하더군요.
background-image:url(<?=$tpl['img_path']?>/oopo.gif);//가능
include_once($tpl['comm_path'] . '/' . "_board_notice.php");//가능
체계화가 화두였으며, 자원 낭비에 관해서는 솔직히 생각해보지 않았습니다.

얼마전 이 구조 문제와 관련해서 유창화님께 질문예약을 드렸더니 흔쾌이 허락하셨으나
제가 질문 자체를 정리하지 못해서 질문을 못드리는 상황입니다.
조만간 결판(?)을 짓도록 하겠습니다.~~**
조만간 꼭 결판을 지으시고,
차기 g4 배포버전에서는 메뉴구조와 스킨을
기본 버전에서 접할 수 있었으면 좋겠습니다.^^*
오늘 새벽에 잠깐 살펴봤습니다.
플록님의 섬세한 손길을 거친 코드들이 아름답기까지 했습니다.

고생하신만큼 큰 보람이 있기를 바랍니다. ^^
감사합니다.
그러나 과찬의 말씀은 거두어 주옵소서!!
사실 이쪽 저쪽 모두 제대로 안되기 때문에 코드를 감상하는 취미를 붙였습니다.
고수님께서 지나치듯 가볍게 지적하신 부분들에 엄청난 내공이 배어있다는것도 새록새록 느끼고 있답니다.
편안한 저녁 되십시오.^^;
전체 199,648 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT