0) ? 'f_key_' . $tab : 'f_key_0'; if (!empty($headItem[$f_key_tab])) { $keyword_list = explode('+', $headItem[$f_key_tab]); $keyword = (!empty($keyword_list[$get_kid])) ? lcfirst($keyword_list[$get_kid]) : ''; } //處理媒體參數 $getCatInfo = getCatInfo($headItem['cid']); $cid = (!empty($getCatInfo['cid'])) ? $getCatInfo['cid'] : ''; $cat_cname = (!empty($getCatInfo['cat_cname'])) ? $getCatInfo['cat_cname'] : ''; $cat_ename = (!empty($getCatInfo['cat_ename'])) ? $getCatInfo['cat_ename'] : ''; # 頁碼處理 $itemPerPage = (!empty($list_style) && $list_style == 'summary') ? 60 : 25; $itemStart = ($page - 1) * $itemPerPage; #20210504 新增 判斷頁籤內的關鍵字是否要走一般新聞 or 書店新聞OP //判斷頁籤內的關鍵字的設定 if (strlen($tab) > 0) { $keyword_news_type = 'f_tab_' . $tab . '_keyword_news_type'; if ($headItem[$keyword_news_type] == 0) { if (empty($keyword)) { oops('000'); exit; } $keyword = strtolower($keyword); $new_keyword_file = $keyword . "專題關鍵字"; $newsList = LoadRequireFile($NEWS_DATA_DIR . 'keyword/' . md5($new_keyword_file) . '.inc'); if (empty($newsList)) { $newsList = LoadRequireFile($NEWS_DATA_DIR . 'keyword/' . md5($keyword) . '.inc'); $newsList = (!empty($newsList)) ? $newsList : []; } if (empty($newsList)) { oops('000'); exit; } $newsList = assoc_unique($newsList, 'title'); $totalNews = count($newsList); $tmpItem = array_slice($newsList, $itemStart, $itemPerPage); if ($page > 1 && count($tmpItem) == 0) { oops('000'); exit; } $newsList = array_map('makeNewsList', $tmpItem); } else { //pchome 24h書本物件 $newsList = call_user_func(function ($keyword) use ($NEWS_DATA_DIR) { $keyword_news = $keyword . "書店新聞"; $keyword_24 = $keyword . "書店"; //292 pchome 書店新聞 $_incData = LoadRequireFile($NEWS_DATA_DIR . 'keyword/' . md5($keyword_news) . '.inc'); $_incData = (!empty($_incData)) ? $_incData : []; $newsList_news = array_map('makeNewsList', assoc_unique($_incData, 'title')); $_incData = LoadRequireFile($NEWS_DATA_DIR . 'keyword/' . md5($keyword_24) . '.inc'); $_incData = (!empty($_incData)) ? $_incData : []; $newsList_24 = array_filter($_incData, function ($val) { return preg_match('/cs\-d\.ecimg\.tw/i', $val['pic']); }); foreach ($newsList_24 as $key => $val) { $newsList_24[$key]['picsrc'] = $val['pic']; } $newsList = (empty($newsList_news)) ? $newsList_24 : array_merge($newsList_news, $newsList_24); //判斷連結是否為24h $newsList = array_map(function ($newsNode) { $newsNode['link_source'] = (is_int(strpos('24h.pchome.com.tw', strtolower($newsNode['link'])))) ? '24H' : 'NEWS' ; return $newsNode; }, $newsList); $newsList = array_filter($newsList, function ($newsNode) { return !empty($newsNode['desc']) && strpos('DVD', strtolower($newsNode['name'])) === false && strpos('(限)', strtolower($newsNode['name'])) === false && strpos('DNAA', strtolower($newsNode['link'])) === false ; }); return array_values($newsList); }, $keyword); $totalNews = count($newsList); $newsList = array_slice($newsList, $itemStart, $itemPerPage); } } #20210504 新增 判斷頁籤內的關鍵字是否要走一般新聞 or 書店新聞ED #專題名稱 $f_name = (!empty($headItem['f_name'])) ? $headItem['f_name'] : ''; #專題頁籤 $f_tab_arr = (!empty($headItem['f_tab']) && is_array($headItem['f_tab'])) ? $headItem['f_tab'] : []; $rightAir = rightAir(); # 右欄空氣品質 $rightWeather = right_get_weather(); # 右欄氣象資訊 $rightLottery = rightLottery(); # 右欄樂透 $rightConstellation = rightConstellation(); # 右欄星座 $collMediaItem = rightCollMedia(); # 右欄合作媒體 #20231221 新增結構化資料 $newsItem['cat_cname'] = '專題'; $newsItem['cat_link'] = '/features/'; $newsItem['title'] = $headItem['f_name']; $newsItem['news_link'] = '/features/living/' . $headItem['fid']; if ($tab != 0 && isset($f_tab_arr_tmp[$tab])) { $newsItem['f_tab'] = $f_tab_arr_tmp[$tab]; $newsItem['f_url'] = '/features/living/' . $headItem['fid'] . '/t' . $tab . '_k' . $get_kid; } $final_BreadcrumbList = BreadcrumbList_schema($newsItem); # 頁面資訊 $html_keywords = []; $html_description = (!empty($headItem['f_desc'])) ? strip_tags($headItem['f_desc']) : ''; $headItem['f_key'] = (!empty($headItem['f_key']) && is_array($headItem['f_key'])) ? array_unique($headItem['f_key']) : []; #檢查陣列裡 有無後台的建立的專題麵包屑 if (preg_match("/\/t/i", $_SERVER['REQUEST_URI'])) { if (!empty($headItem['f_key_' . $tab])) { $tmp = explode('+', $headItem['f_key_' . $tab]); if (is_array($tmp)) { $_headItemTab = (!empty($f_tab_arr_tmp[$tab])) ? $f_tab_arr_tmp[$tab] : ''; $html_keywords = sprintf('%s,%s', $_headItemTab, implode(',', array_slice($tmp, 0, 5))); } } $html_title = $f_tab_arr_tmp[$tab] . '-' . $headItem['f_name'] . '- PChome Online新聞'; } else { $keyLength = (empty($headItem['f_label'])) ? 6 : 5 ; $html_keywords = implode(',', array_slice($headItem['f_key'], 0, $keyLength)); $html_title = $headItem['f_name'] . '-' . $f_tab_arr_tmp[0] . ',' . $f_tab_arr_tmp[1] . '- PChome Online新聞'; } # 時間檢測 PageLoadCostTime(); # 記憶體檢測 PageLoadCostMemory(); # PV 記錄 pv('F', $cid, '', $fid); $pv_js_code = pv_js_code('F', $cid, '', $fid); # 讀入版型 require_once $TEMPLATES . 'base_body.tpl.html'; // function makeNewsList($newsNode) { return array( 'title' => (!empty($newsNode['title'])) ? $newsNode['title'] : '', 'cat_ename' => '', 'cat_cname' => '', 'media_ename' => '', 'media_cname' => (!empty($newsNode['media'])) ? $newsNode['media'] : '', 'pubdate' => (!empty($newsNode['pubdate'])) ? $newsNode['pubdate'] : '', 'desc' => (!empty($newsNode['desc'])) ? $newsNode['desc'] : '', 'content' => '', 'link' => (!empty($newsNode['link'])) ? $newsNode['link'] : '', 'picsrc' => (!empty($newsNode['pic'])) ? changPhotoSize($newsNode['pic'], 's') : '', 'pic' => (!empty($newsNode['pic'])) ? changPhotoSize($newsNode['pic'], 'p23') : '', 'piclink' => (!empty($newsNode['piclink'])) ? $newsNode['piclink'] : '', 'keyword' => (!empty($newsNode['keyword'])) ? $newsNode['keyword'] : '', 'pv' => (!empty($newsNode['pv'])) ? $newsNode['pv'] : 0, 'ori_url' => (!empty($newsNode['ori_url'])) ? $newsNode['ori_url'] : '', 'name' => (!empty($newsNode['name'])) ? $newsNode['name'] : '', 'replies' => (!empty($newsNode['replies'])) ? $newsNode['replies'] : '', 'keyword_description' => (!empty($newsNode['keyword_description'])) ? $newsNode['keyword_description'] : '', 'link_source' => 'NEWS', ); }