You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

101 lines
2.9 KiB

<?php
/**
* 產品各層麵包屑
*/
require_once('../../conf/ProductEnum.php');
require_once('../../conf/ParametersException.php');
require_once('../../db/ProductDAO.php');
require_once('../../class/Functions.php');
try{
$result = array();
$dbDao = new ProductDAO();
$functions = new Functions();
$dbDao->transaction();
$levelNum = NULL;
$dataId = NULL;
$breadArr = array();
$returnArr = array();
$breadHtml = '';
if ( isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] != 0 ){
$dataId = trim($_GET['id']);
}
if ( is_null($dataId) ){
throw new ParametersException('無 ID 參數資料');
}
if ( isset($_GET['level']) && is_numeric($_GET['level']) ){
$levelNum = trim($_GET['level']);
}
if ( is_null($levelNum) ){
throw new ParametersException('無層級參數');
}
$level = 0;
$i = 0;
do {
$levelData = $dbDao->getProdContent($dataId);
if ( !is_array($levelData) || count($levelData) != 1 ){
throw new ParametersException('無此產品資料');
}
$levelData = $levelData[0];
$levelArr = array();
$levelArr['level'] = $levelData['level'];
$levelArr['title'] = $levelData['title'];
$levelArr['uuid'] = $levelData['uuid'];
$dataId = $levelData['upper_level'];
if ($levelArr['level'] == 2 ){
// $levelTitle = $functions->getFirstWords($levelTitle, 2);
}
array_unshift($breadArr, $levelArr);
}while($dataId != 0);
$breadNum = count($breadArr);
$levelPrefix = '';
if ( $breadNum >= 4 ){
$levelPrefix = '../';
}
$breadHtml.= '<li class="breadcrumb-item"><a href="'.$levelPrefix.'index.html">首頁</a></li>';
if ( isset($breadArr[0]) ){
$breadOne = '<li class="breadcrumb-item"><a href="'.$levelPrefix.'products-category.html?id='.$breadArr[0]['uuid'].'">'.$breadArr[0]['title'].'</a></li>';
if ( $levelNum == 1 ){
$breadOne = '<li class="breadcrumb-item active" aria-current="page">'.$breadArr[0]['title'].'</li>';
}
$breadHtml.= $breadOne;
}
if ( isset($breadArr[2]) ){
$breadThree = '<li class="breadcrumb-item"><a href="'.$levelPrefix.'products-list.html?id='.$breadArr[2]['uuid'].'">'.$breadArr[2]['title'].'</a></li>';
if ( $levelNum == 2 ){
$breadThree = '<li class="breadcrumb-item active" aria-current="page">'.$breadArr[2]['title'].'</li>';
}
$breadHtml.= $breadThree;
}
if ( isset($breadArr[3]) ){
$breadHtml.= '<li class="breadcrumb-item active" aria-current="page">'.$breadArr[3]['title'].'</li>';
}
$returnArr['content'] = str_replace(array("\r\n", "\r", "\n", "\t"), '', $breadHtml);
$dbDao->commitDB();
http_response_code(200);
} catch ( ParametersException $pe ){
$returnArr['errMsg'] = $pe->getMessage();
http_response_code(400);
} catch ( Exception $e ){
$returnArr['errMsg'] = $e->getMessage();
if($dbDao != null) {
$dbDao->rollbackDB();
}
http_response_code(500);
} finally {
echo json_encode($returnArr, JSON_UNESCAPED_UNICODE);
if($dbDao != null) {
$dbDao->closeDB();
}
}
?>