메인페이지에 상품 태그 리스트 불러오기
본문
위 링크대로 태그기능을 추가했습니다
원하는 기능은 메인페이지에
태그1 태그2 태그3 태그4 -> 태그1 태그2 태그3 태그4
┌──┐┌──┐┌──┐┌──┐ -> ┌──┐┌──┐┌──┐┌──┐
│상품││상품││상품││상품│ -> │상품││상품││상품││상품│
└──┘└──┘└──┘└──┘ -> └──┘└──┘└──┘└──┘
┌──┐┌──┐┌──┐┌──┐ -> ┌──┐┌──┐┌──┐┌──┐
│상품││상품││상품││상품│ -> │상품││상품││상품││상품│
└──┘└──┘└──┘└──┘ -> └──┘└──┘└──┘└──┘
이렇게 탭메뉴처럼 리스트를 보이게 하고자합니다
리스트만 불러오면 배치하는건 충분히 가능한데
리스트가 불러와지지 않습니다
tag_list.php를 참고해서 메인페이지에 태그를 불러오는 boxtag.php를 아래처럼 수정했는데
<div id="tagbox" class="co-tag tags">
<?php
$tag_device = (G5_IS_MOBILE?'de_tag_mobile':'de_tag_pc');
echo get_tags($default[$tag_device]);
?>
<!-- 추가한 부분 { -->
<?php
$skin_dir = G5_SHOP_SKIN_PATH;
$skin_file = $skin_dir.'/'.$default['de_tag_skin'];
$tag = $_GET['tag'];
$list = new item_list($skin_file, $default['de_tag_mod'], $default['de_tag_row'], $default['de_tag_width'], $default['de_tag_height']);
$list->set_tag($tag);
$list->set_is_page(true);
$list->set_order_by($order_by);
$list->set_from_record($from_record);
$list->set_view('it_id', false);
$list->set_view('it_name', true);
$list->set_view('it_basic', false);
$list->set_view('it_cust_price', true);
$list->set_view('it_price', true);
$list->set_view('it_icon', true);
$list->set_view('sns', false);
echo $list->run();
?>
<!-- } 추가한 부분-->
</div>
스킨도 정상적으로 적용되는데 등록된 상품이 없다고만 나옵니다
(테스트용으로 해당 태그 추가했는데도 안나와요)
링크를 클릭해서 페이지를 이동하면 태그에 해당하는 상품리스트가 나오구요
근데 제가 하려는건 페이지 이동없이 불러와야해서ㅠㅠ
$tag = $_GET['tag'] 부분이 문제인 것 같은데 감이 전혀 안잡혀서 질문드려요..
!-->답변 1
$_GET['tag'] 는 해당 페이지의 접속주소에 tag 파라미터에 할당된 값입니다.
예를 들면, 해당페이지의 접속 주소가 main.php?tag=겨울옷
이라면 $_GET['tag'] 에 저장된 값은 '겨울옷' 입니다.
$_GET['tag'] 가 빈 값이라면,
$list->set_tag($tag); 코드는 실질적으로 $list->set_tag(''); 코드와 같습니다.
이 부분이 문제인지 테스트를 해보고 싶다면, 실제 존재하는 태그값중 하나를 넣고 테스트 해 볼 수 있습니다.
//$tag = $_GET['tag'];
$tag = "겨울옷";
(생각/상상만으로 정리해본 코드라..) 맞을지 모르겠습니다만,
쇼핑몰에 존재하는 전체 태그에 해당되는 리스트를 모두 불러오는 것이라면.
다음과 같이 시도해 볼 수 있을 듯 합니다.
<!-- 추가한 부분 { -->
<?php
$arr = explode(',', $default[$tag_device]);
foreach ($arr as $val) {
$skin_dir = G5_SHOP_SKIN_PATH;
$skin_file = $skin_dir.'/'.$default['de_tag_skin'];
$tag = $val;
$list = new item_list($skin_file, $default['de_tag_mod'], $default['de_tag_row'], $default['de_tag_width'], $default['de_tag_height']);
$list->set_tag($tag);
$list->set_is_page(true);
$list->set_order_by($order_by);
$list->set_from_record($from_record);
$list->set_view('it_id', false);
$list->set_view('it_name', true);
$list->set_view('it_basic', false);
$list->set_view('it_cust_price', true);
$list->set_view('it_price', true);
$list->set_view('it_icon', true);
$list->set_view('sns', false);
echo $list->run();
}
?>
<!-- } 추가한 부분-->