2008년 05월 25일
11번가 상품검색
출처 : http://www.web2dong.com/?document_srl=1987#0
===============================================================================================
간단히 11번가 Open API를 이용해서 간단한 상품 검색 화면을 만들어 보았습니다.
지난번 알라딘 Open API 예제를 활용해서 XML을 읽어 오는 부분을 만들어 보았구요
다른 Open API들 과 마찬가지로 회원가입을 통해 오픈 API를 발급받아오는 Key를 만들어야 합니다.
11번가 회원가입하기
회원가입후 Open API Key 발급을 받도록 합니다.
키 발급은 아래 페이지를 방문하셔서 몇가지 항목을 등록하시고 발급 받으시면 됩니다.
http://openapi.11st.co.kr/openapi/OpenApiRegister.tmall?method=regOpenApiMember
첨부한 파일은 아래 3가지 파일로 되어있습니다.
1. HttpRequest.php - URL을 이용해서 알라딘으로 부터 XML 정보를 가져오는 역할
2. XMLParser.php - 가져온 XML에서 데이터를 꺼내어 배열에다 넣음
3. 11stOpenAPI.php - XML 데이터를 넣은 배열을 이용해 화면을 보여줌
11번가의 Open API 역시 알라딘과 마찬가지로 xml 형태의 Data를 제공합니다.
위 파일로 수정을 하셔서 샘플을 만드실때에는 2,3번파일 수정을 하시면 되고,
특정 조건들을 추가해서 검색하려고 할 때에는 11stOpenAPI.php 파일에서
$querySet에 추가해주시면 됩니다.
$querySet = array(
'key' => '발급받은 Key를 입력하세요',
'apiCode' => 'ProductSearch',
'keyword' => $searchWord
/*여기에 조건 추가 */
);
XMLParser.php에 받아올 Tag 이름을 추가해주시구요, 아래 붉은 색부분 처럼요~
function cdataHandler($parser, $cdata){
if($this->inItems==TRUE){
if($this->currentElement=="PRODUCTNAME"){
$this->itemInfo["PRODUCTNAME"] = $cdata;
} else if($this->currentElement=="PRODUCTIMAGE"){
$this->itemInfo["PRODUCTIMAGE"] = $cdata;
} else if($this->currentElement=="DETAILPAGEURL"){
$this->itemInfo["DETAILPAGEURL"] = $cdata;
}
}
}
}
그러면 추가된 값들을 받아옵니다.
그리고 11stOpenAPI.php 부분에서 꺼내어 쓰시면 됩니다.
<ul>
<?php
if($isError){
echo "<li>에러메시지 : $errMsg</li>";
} else {
foreach($xmlParser->itemList as $item){
echo '<br><b>'. $item['PRODUCTNAME'] ."</b><br/>";
echo '<a href="'.$item["DETAILPAGEURL"].'">';
echo '<img src="'.$item['PRODUCTIMAGE'].'"/>';
echo '</a>';
}
}
?>
</ul>
/* 예제 실행화면 */
# by | 2008/05/25 16:29 | 트랙백 | 덧글(1)






