[관리자님] 다음 버젼에 참고해주셨으면 하는 바램으로... > 자유게시판

자유게시판

[관리자님] 다음 버젼에 참고해주셨으면 하는 바램으로... 정보

기타 [관리자님] 다음 버젼에 참고해주셨으면 하는 바램으로...

본문

그누3.x와 샵을 설치하면서 애로사항이 있는거 같아서
한번 생각해보시고 다음버젼 출시시에 참고해주셨으면 하는 바램으로 글을 적습니다.

보드의 index.php의 194라인 부분에 페이지별 'DOCUTYPE'을 지정하는 부분에

쇼핑몰과 관련한 DOCUTYPE 의 'switch'문을 하나더 추가하고(아래처럼)
--------------------------------------------
    case "SHOP" :
        include './head.sub.php';
        echo $ob_content;
        include './tail.sub.php';
        break;
---------------------------------------- 

샵의 파일들 페이지 상단 구문에 아래처럼...
---------------------------------------
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "STYLE");
----------------------------------------
되어있는 부분을
---------------------------------------
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "SHOP");
----------------------------------------
이런식으로 가면 안될런지요...

이건 비단 쇼핑몰 뿐만 아니라 다른 플러그인 프로그램의 경우도
별도의 상수와 switch구문이 존재한다면 좀더 유연한 작업이 될수 있을거 같군요.


쇼핑몰만 사용하는 사람은 별 문제 없이 사용가능하겠지만,
요즘의 추세를 보면
커뮤니티와 쇼핑몰이 함께 공존하는 경우가 많고
커뮤니티도 단순히 게시판형식을 뛰어넘어 별도의 메뉴리스트를 가지고
독립적인 형태로 가능경우가 많은거 같습니다.

이런 경우, 당연히 좌측(또는 상단)에 만드는 메뉴형식도
쇼핑몰과 커뮤니티는 상당히 달라지리라 봅니다.

작업을 하다가 느낀점은,
쇼핑몰의 메뉴와 커뮤니티(그누처럼, 좌측에 게시판메뉴로 구성된 형식)의 메뉴를 달리 해야 할경우,
쇼핑몰의 파일의 상단에
정의된 상수에서, 아래처럼 별도의 상수를 정의하고 인덱스에 별도의 'switch'구문을 추가해서
사용해야할 필요가 생기게 됨을 느낍니다.
--------------------------------------------------------
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "SHOP");
--------------------------------------------------------

그러다 보니 일일히 샵에 있는 모든 파일의 상수정의 부분을 바꿔야 할 문제가 생기는거 같군요.

이런 방법이 아니더라도 달리 인덱스의 switch구문에서 /bbs 폴더인지, /shop폴더인지를
파악해서 그곳에 맞는 형식의 head와 tail 파일을 지정해줄수도 있겠지만, 이방법은 잘 모르겠고

위 방법처럼만 구현한다면, 다른 플러그인 프로그램도 각각의 상수를 지정해줌으로써
좀더 유연한 전체 홈페이지를 제작할수 있지 않을까하는 생각이 간절히 듭니다.

■ ■ ■ ■ ■
-----------------------------------------------------------------------
각 플러그인의 상수정의는 다르다 하더라도,
궂이 전체 페이지가 동일한 head / tail 로 이루어진다던지, 또는 메뉴가 같다면
일일히 페이지를 건드리지 않고

★ index.php의 'switch'구문에서 해당 부분의 head/tail경로만 변경해줌으로써 모두 일괄 변경이 가능하고
또 역으로 각각의 head/tail 또는 메뉴로 구성된다 할때도
당연히 index.php 'switch'구문에서 간단하게 조절하는것 만으로
쉽게 적용이 가능한 아주 편리함이 생기리라 봅니다.
-----------------------------------------------------------------------

한번더 정리한다면,


index.php 파일의 switch 구문을 아래처럼...
-----------------------------------------------------------------------
/
// 페이지의 DOCTYPE 에 따라 include 를 결정함
//
switch (_DOCTYPE_) {
    // NONE 는 상단과 하단 파일이 필요없는 TYPE
    case "NONE" :
        echo $ob_content;
        break;
    // STYLE 은 stylesheet 등만 적용하는 TYPE
    case "STYLE" :
        include './head.sub.php';
        echo $ob_content;
        include './tail.sub.php';
        break;
    // DESIGN 은 상단, 하단 파일을 필요로 하는 TYPE
    case "DESIGN" :
        include './head.sub.php';
        include './head.php';
        echo $ob_content;
        include './tail.php';
        include './tail.sub.php';
        break;
 / /★ COMMUNITY 관련 상단, 하단 파일을 필요로 하는 TYPE
    case "COMMUNITY" :
        include './head.sub.php';
        echo $ob_content;
        include './tail.sub.php';
        break;
 / /★ SHOP 관련 상단, 하단 파일을 필요로 하는 TYPE
    case "SHOP" :
        include './head.sub.php';
        echo $ob_content;
        include './tail.sub.php';
        break;
 / /★ 0909 관련 상단, 하단 파일을 필요로 하는 TYPE
    case "0909" :
        include './head.sub.php';
        echo $ob_content;
        include './tail.sub.php';
        break;
-----------------------------------------------
위처럼, 각 플러그인의 상수를 미리 정의 해두고
최초 기본값으로는 모두 동일한 형태를 유지하여 출시한다면

아래처럼,
사용자가 임의로, head/tail파일이 어디에 있던 원하는 형태의 head/tail 파일및 메뉴를
쉽게 간단한 조작만으로도 변경이 가능하리라 봅니다.
--------------------------------------------
switch (_DOCTYPE_) {
    // NONE 는 상단과 하단 파일이 필요없는 TYPE
    case "NONE" :
        echo $ob_content;
        break;
    // STYLE 은 stylesheet 등만 적용하는 TYPE
    case "STYLE" :
        include './head.sub.php';
        echo $ob_content;
        include './tail.sub.php';
        break;
    // DESIGN 은 상단, 하단 파일을 필요로 하는 TYPE
    case "DESIGN" :
        include './head.sub.php';
        include './head.php';
        echo $ob_content;
        include './tail.php';
        include './tail.sub.php';
        break;
/ /★ COMMUNITY 관련 상단, 하단 파일을 필요로 하는 TYPE
    case "COMMUNITY" :
        include './head.sub.php';
        include '../community/c_head.php';
        echo $ob_content;
        include './tail.sub.php';
        include '../community/c_tail.php';
        break;
 / /★ SHOP 관련 상단, 하단 파일을 필요로 하는 TYPE
    case "SHOP" :
        include './head.sub.php';
        include '../shop/head.php';
        echo $ob_content;
        include './tail.sub.php';
        include '../shop/tail.php';
        break;
 / /★ 0909 관련 상단, 하단 파일을 필요로 하는 TYPE
    case "0909" :
        include './head.sub.php';
        include '../0909/head.php';
        echo $ob_content;
        include './tail.sub.php';
        include '../0909/tail.php';
        break;
    // 나머지 TYPE 은 오류
    default :
        if (!file_exists($doc) && $doc) {
            echo "$doc 파일이 존재하는지 확인하여 주십시오.";
            exit;
        }
 &nbsp; &nbsp; &nbsp; &nbsp;echo "_DOCTYPE_ 오류 : NONE , STYLE , DESIGN 중 하나를 사용하세요.<p>";
 &nbsp; &nbsp; &nbsp; &nbsp;echo $ob_content;
 &nbsp; &nbsp; &nbsp; &nbsp;break;
--------------------------------------------------------------------


한번 참고하셔서, 생각해 보셨으면 합니다.
이용자 입장에서는 상당히 편리할거 같군요.
추천
0

댓글 2개

푸헐...허접글이라 멘트도 없나했더니...감사하네요..ㅋ~
그누가 많이 발전했음을 느낍니다...

또 한편으론 ...다양한 응용기능을 담으려는 욕심(?)으로 인해...너무 많은 기능이 때로는 불필요하게
소스의 덩치만 키우지 않을까 좀은 염려스럽기도 하네요...

그누보드를 단순사용자입장에서 지켜봐야 할지  or 학습겸 응용개발입장에서 지켜 봐야할지
여러가지의 보는 시각에 따라 웬지 좀..산만하고 혼란스러울때도 있지만...결국에는 시간이
해결해 주지 않을까 싶네요. (따라가기가 좀 버겁기는 하지만~~ ㅋ)

그래도 지켜볼만하니..계속 머무르는거겠지요....힘내시고..수고하세요~~
사실 요사이 플러그인 프로그램 문제로 골치가 좀 아픕니다.
주신 의견이 적극 반영될지는 아직 모르겠습니다.
좋은 정보 감사합니다.
전체 195,063 |RSS
자유게시판 내용 검색

회원로그인

진행중 포인트경매

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