11112
TopsMate
HOME 프로그램소개 프로그램기능 데모보기 및 다운로드

질문과답변
자료실
유용한팁
홈피자랑
업글정보
공지사항
지원의뢰

RSS  

 제목 {# TOP},{# COPY}를 서로다른 두 페이지(커뮤니티 홈페이지, 쇼핑몰)에서 다른형태로 표현하는 방법 코드 검토요청   Hot
 작성자 과일폭격기    조회 1,666
 도메인  파일 selectCommonCode.zip (7,444bytes)
 등록일 2010-02-11 15:32:31

<<< {# TOP},{# COPY}를 서로다른 두 페이지(커뮤니티 홈페이지, 쇼핑몰)에서 다른형태로 표현하는 방법 >>>

1. 적용목적: 첫째,하나의 도메인에 하나의 Tops 솔루션을 설치하여 쇼핑몰, 그리고 쇼핑몰과 성격이 다른 홈페이지(커뮤니티등)을 구성할 경우, 두곳에서 공통으로 사용하는 로그인, 회원가입, 이용약관 및 개인정보보호등 member와 관련된
     부분을 표출하는 {# TOP},{#COPY}를 각각의 성격에 맞는 서로 다른 형태로 나타내기 위함.
     둘째, 각 페이지 초화면에서 로그아웃을 할 경우 로그아웃 후, 해당화면의 초화면으로 되돌아 가야하지만
     하나의 SESSION을 사용함으로 인해 쇼핑몰 초화면으로 이동하게 되는 문제점을 해결하기 위함.
     
2. 문제점: 본 방법의 적용이 없이 적용목적과 같이 사용하려면 member와 관련된 모든 template와 소스(PHP)를 각각 1 copy씩
만들어야 함과 동시에 향후 패치등의 작업시 두 곳의 template, 소스(PHP)에 적용 및 확인을 하여야 하는 불합리한 점이 발생함.
    
3. 최초 접속될 페이지 선택방법 : 1. 고객이 쇼핑몰, 또는 홈페이지로의 접속을 선택할 수 있도록 한다.
                                                  2. 무조건 쇼핑몰 화면을 초화면으로 표출한다.
        ( 이 부분은 사이트의 운용방법에 따라 각기 다를 수 있슴.)
            
4. 본 방법에 사용된 기법 및 각 variable설명
 - $_SERVER["REQUEST_URI"] : 현재 접속된 URI정보
 - SESSION variable 등록
     -- $_SESSION['prevRU']  : 바로 전의 REQUEST_URI(약자로 RU)
             이 SESSION variable은 현재 접속이 member_로 시작되는 page인 상태에서 다시 member_를 1회이상 또
             다시 클릭 했을 경우 최초 접속한 곳의 정보를 기억하기 위하여 사용함.
             (즉, 홈페이지 ->로그인->로그인->회원가입->...과 같이 member_에 해당 되는 링크를 여러번 클릭할 경우)
 - 홈페이지의 html 파일명을 기존의 쇼핑몰 파일명 뒤에 "_hp"를 추가하여 구별함.(이 부분은 사용자 임의로 지정 가능하며 쇼핑몰과 반드시 구별이 될 수 있는 suffix를 붙여야 함.( 예, 쇼핑몰: main.html  홈페이지: main_hp.html )
 - function selectCommonCode($html_suffix, $code_name)를 tops/lib/lib.class.php의 마지막에 추가.
    ( $html_suffix : 구별할 접미어(suffix) (예, _hp)   $code_name: TOP또는 COPY )
       (code소스는 첨부한 lib.class.php참조)

5. 사용방법
 a. 기존의 쇼핑몰에서 사용하는 top.html, copy.html은 변경없슴.
 b. 홈페이지에 사용 할 top_hp.html, copy_hp.html을 새로이 tops/skin_utf8/home/skin_purple/에 작성.(utf-8일 경우)
 c-1. TOP과 COPY부분을 php로 호출할 경우
   표출하고자 하는 곳에 다음과 같이 지정한다.
   TOP의 경우 <td>{# TOP}</td>를 <td><? Lib::selectCommonCode("_hp","TOP"); ?></td> 로,
   COPY의 경우 <td>{# COPY}</td>를 <td><? Lib::selectCommonCode("_hp","COPY"); ?></td> 로 지정한다.      
 c-2. 치환코드를 만들어 사용할 경우
   TOP의 경우 <td>{# TOP}</td>를<td>{# FIND_TOP}</td>,
   COPY의 경우 <td>{# FIND_COPY}</td>으로 지정한다.
   이 경우에는 사전에 tops/skin_utf8/home/skin_purple에 find_top.html과 find_copy.html을 신규로 작성해야 하고,
   또한 tops/user/home에 find_top.php과 find_copy.php가 미리 신규로 작성되어 있어야 한다.
   (예, main_hp.html에 <td>{# FIND_TOP}</td>을 지정하고, find_top.html에 <? require 'tops/user/home/find_top.php'; ?>후
    find_top.php에는 <? Lib::selectCommonCode("_hp","TOP"); ?>을 지정한다.
    copy부분도 top대신에 copy로 변경한다.
 (* 첨부파일 참조)    

    c-1.과 c-2.중 간단한 방법은 c-1.을 보입니다.

6. tops/user/member/member_login.php 수정 (로그라웃 후 표출할 초화면(커뮤니티? 쇼핑몰? ...) 지정)
 case('PO'): ## Member Logout...

  $MemberLogin->logoutMember();

///  $LIB->pageNext('?');
//  where to go when logout
//   by Fruit Bomber(zman) 2010. 2. 11
if (strstr($_SESSION['prevRU'],'_hp'))    {
   $LIB->pageNext('?pgname=home/main_hp');
         }
else  { 
  $LIB->pageNext('?');
  }
//
 break;-------------------------------------------------------------------------------------------------------------
짧은 지식으로 나름 작성 하다보니 허접하기 이를데가 없지만 혹시나 필요로 하시는 분들이 계시면 정보 같이 나누고자
창피함을 무릅쓰고 올려 봅니다.
완성도가 떨어지는 관계로 Tops에 계신 분들의 감수가 필요할 듯 합니다.
많이 바쁘시겠지만 전체적인 부분을 보시고 불합리한 부분이나 로직에 오류가 있는 지 여부를 첨삭 또는 완전 새로운코드로 수정하여 주셔서 Tops솔루션에 정식으로 포함시켜 주실 수 있을지 등을 검토 부탁 드려 봅니다.

현재 저의 경우는 c-2.방법을 적용하여 사용 중에 있는데 아직은 별 문제가 없어 보입니다만, 혹여 이 방법을 적용하실 분들을 위해 전문가이신 Tops 측에서 검증이 반드시 필요할 것 같아 다시한번 검토 부탁 드립니다.

다시한번 노고에 감사드리며 많은 분들께 조금이나마 보탬이 될수 있었으면 좋겠습니다.
설연휴 잘 보내세요.

감사합니다.
-과일폭격기-



List modify write reply delete

과일폭격기 (2010-02-11 15:38:51)
위 6.번의 소스코드 부분 수정하였습니다. 참고로 member_로 시작되는 곳과 main, main_hp의 TOP과 COPY에만 적용하면 됩니다.
  REPLY 
과일폭격기 (2010-02-17 20:02:06)
첨부 파일이 잘못 올라갔네요. 다시 올립니다. Admin님이 바쁘신가 봅니다. 시간이 되시면 다시한번 조언 부탁 드립니다.
  REPLY 
NAME PW  
관련글
다음글
이전글


이용약관 | 프로그램소개 | Tops와 프로모션
(주)제이터치 대표이사 이왕태 | 개인정보관리책임자: 이왕태 | 이메일: help@j-touch.com
서울특별시 성동구 하왕십리동 966-21 제3층 | 사업자등록번호: 206-86-69197 | 통신판매업번호: 제2012-서울성동-0626호
copyright © J-Touch All Rights Reserved.