채택완료

쇼핑몰에서

2021-02-18 (목) 13:47:09 3,018

/shop/item.php?it_id=101

즉 it_id가 101~199까지는

item.form.skin 등

item.form.another.skin 이런식으로 만들어 쓰고 싶은데 어떻게 해야 할까요?

쇼핑몰 쵸딩입니다.

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

저라면...

/theme/사용테마/skin/shop/basic/item.form.skin.php 파일에서

조건에 해당하면 include하고 return 하는 방식으로 하겠습니다

var_dump($it_id) 가 string 이네요

Copy
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if ((int)$it_id >= 101 && (int)$it_id <= 199) {
    $_skin = dirname(__FILE__).'/item.form.another.skin.php';
    if (file_exists($_skin)) {
        include_once($_skin);
        return;
    }
}

답변에 대한 댓글 1개

2021-02-18 (목) 15:45:43
아 간단하며 좋은 방법 같습니다~ 감사합니다.

그런경우는 

/shop/item.php 파일에서

Copy
// 스킨경로

$skin_dir = G5_SHOP_SKIN_PATH;

$ca_dir_check = true;

 

if($it['it_skin']) {

    if(preg_match('#^theme/(.+)$#', $it['it_skin'], $match))

        $skin_dir = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/shop/'.$match[1];

    else

        $skin_dir = G5_PATH.'/'.G5_SKIN_DIR.'/shop/'.$it['it_skin'];

 

    if(is_dir($skin_dir)) {

        $form_skin_file = $skin_dir.'/item.form.skin.php';

 

        if(is_file($form_skin_file))

            $ca_dir_check = false;

    }

}

부분에서 분기를 커스텀해주어야합니다.

Copy
// 스킨경로

$skin_dir = G5_SHOP_SKIN_PATH;

$ca_dir_check = true;

 

if($it['it_skin']) {

    if(preg_match('#^theme/(.+)$#', $it['it_skin'], $match))

        $skin_dir = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/shop/'.$match[1];

    else

        $skin_dir = G5_PATH.'/'.G5_SKIN_DIR.'/shop/'.$it['it_skin'];

 

    if(is_dir($skin_dir)) {

        if ($it_id > 100 && $it_id < 200)  // 여기서부터

            $form_skin_file = $skin_dir.'/item.form.another.skin.php';

        else   // 여기까지 추가하세요

            $form_skin_file = $skin_dir.'/item.form.skin.php';

        if(is_file($form_skin_file))

            $ca_dir_check = false;

    }

}

답변에 대한 댓글 1개

2021-02-18 (목) 15:47:37
감사합니다~ .

답변을 작성하려면 로그인이 필요합니다.