public static function getLineInfo($lineid) { global $dsql; $out = ''; if (!empty($lineid) && $lineid != 'null') { $sql = "select * from sline_line where id='{$lineid}'"; $row = $dsql->GetOne($sql); $webroot = GetWebURLByWebid($row['webid']); $url = $webroot . '/lines/show_' . $row['aid'] . '.html'; $litpic = getUploadFileUrl($row['litpic']); $price = getLineRealPrice($row['aid'], $row['webid']); $out = ''; $out .= '<dl>'; $out .= '<dt><a class="fl" href="' . $url . '"><img class="fl" src="' . $litpic . '" width="174" height="129" /></a></dt>'; $out .= '<dd>'; $out .= '<span class="tit"><a href="' . $url . '" target="_blank">' . $row['title'] . '</a></span>'; $out .= '<span class="txt">' . $row['sellpoint'] . '</span>'; $out .= '<span class="price">参考价:<em>¥' . $price . '</em>/人</span>'; $out .= '<span class="more-btn"><a href="' . $url . '" target="_blank">查看详情</a></span>'; $out .= '</dd>'; $out .= '</dl>'; } return $out; }
if ($dopost == 'getLineByDestId') { $where = " where a.ishidden=0 and FIND_IN_SET({$dest_id},a.kindlist)"; $leftjoin = "left join #@__kindorderlist b on(a.id = b.aid and b.classid = {$dest_id} and b.typeid=1)"; $sql = "select a.* from #@__line a {$leftjoin} {$where} order by b.isding desc,b.isjian desc,case when b.displayorder is null then 9999 end,b.displayorder asc,a.addtime desc limit 0,6"; $arr = $dsql->getAll($sql); $out = $left = $right = ''; $k = 1; foreach ($arr as $row) { $url = GetWebURLByWebid($row['webid']) . '/lines/show_' . $row['aid'] . '.html'; $litpic = getUploadFileUrl($row['litpic']); $startcity = getStartCityName($row['startcity']); $startcity = !empty($startcity) ? "[{$startcity}出发]" : ''; $linename = "{$startcity}{$row['linename']}"; $award2 = !empty($row['jefentprice']) ? $row['jefentprice'] : 0; $booknum = Helper_Archive::getSellNum($row['id'], 1) + $row['bookcount']; $real = getLineRealPrice($row['aid'], $row['webid']); $row['lineprice'] = $real ? $real : $row['price']; if ($k < 5) { $left .= ' <div class="list_con_sy"> <div class="sy_img"><a class="fl" href="' . $url . '" title="' . $linename . '"><img class="fl" src="' . $litpic . '" width="100" height="80" alt="' . $linename . '" /></a></div> <div class="sy_txt"> <p class="p1"><a href="' . $url . '" target="_blank">' . $linename . '</a></p> <p class="p2">' . $row['sellpoint'] . '</p> <p class="p3"> <span>销量:<b>' . $booknum . '</b>人已购买</span> <span>评论:<b>' . Helper_Archive::getCommentNum($row['id'], 1) . '</b>条评论</span> <span class="sp_star"><strong class="fl">满意度:</strong><b><s style=" width:' . Helper_Archive::getSatisfyScore($row['id'], 1) . '"></s></b></span> </p> </div> <div class="sy_price"> <p class="p1">¥<strong>' . $row['lineprice'] . '</strong><span>起</span></p>
function lib_getlinelist(&$ctag, &$refObj) { global $startcity; global $dsql; include SLINEDATA . "/webinfo.php"; $attlist = "row|8,flag|,type|top,sonid|,limit|0,"; FillAttsDefault($ctag->CAttribute->Items, $attlist); extract($ctag->CAttribute->Items, EXTR_SKIP); $webid = 0; $innertext = trim($ctag->GetInnertext()); $revalue = ''; $basefield = "a.aid,a.id,a.webid,a.title,a.seotitle,a.sellpoint,a.litpic,a.storeprice,a.price,a.linedate,a.features,a.transport,a.lineday,a.startcity,a.overcity,a.shownum,a.satisfyscore,a.bookcount,a.attrid,a.kindlist,a.color,a.iconlist"; if ($type == 'top' && empty($flag)) { return ''; } //如果调用二级栏目则必须在显示类里指定sonid $limit = !empty($limit) ? $limit : 0; if ($type == 'startcity') { $sql = "select {$basefield} from #@__line as a left join #@__kindorderlist as c on (a.id=c.aid) where a.ishidden=0 and c.typeid=1 and startcity='{$startcity}' and c.classid={$sonid} and FIND_IN_SET({$sonid},a.kindlist) {$orderby} limit {$limit},{$row}"; } if ($type == 'mdd') { if ($flag == 'hot') { $orderby = 'order by case when c.displayorder is null then 9999 end,c.displayorder asc,a.modtime desc,a.addtime desc'; } else { if ($flag == 'recommend') { $orderby = 'order by case when c.displayorder is null then 9999 end,c.displayorder asc,a.modtime desc,a.addtime desc'; } else { if ($flag == 'specical') { $orderby = 'order by case when c.displayorder is null then 9999 end,c.displayorder asc,a.modtime desc,a.addtime desc '; } else { $orderby = 'order by case when c.displayorder is null then 9999 end,c.displayorder asc,a.modtime desc,a.addtime desc'; } } } $sonid = isset($definekind) ? $definekind : $refObj->Fields['kindid']; //这里增加子站的判断 if ($GLOBALS['sys_child_webid'] != 0) { $dest_id = $GLOBALS['sys_child_webid']; } $sonid = $sonid ? $sonid : $dest_id; $shownum = isset($row) ? $row : $refObj->Fields['shownum']; $shownum = empty($shownum) ? 6 : $shownum; if (isset($sonid)) { $number = isset($refObj->Fields['shownumber']) ? $refObj->Fields['shownumber'] : $row; //如果模块设置了显示数量则使用. $sql = "select {$basefield},c.isjian,c.istejia,c.isding from #@__line as a left join #@__kindorderlist as c on (c.classid={$sonid} and a.id=c.aid and c.typeid=1) where a.ishidden=0 and FIND_IN_SET({$sonid},a.kindlist) {$orderby} limit {$limit},{$shownum}"; } else { return ''; } } else { if ($type == 'searchrec') { if ($GLOBALS['childid'] != 0) { $kchild = $GLOBALS['childid']; $sql = "select distinct {$basefield} from #@__line as a left join #@__kindorderlist as c on (c.classid={$kchild} and a.id=c.aid and c.typeid=1) where a.ishidden=0 and c.isjian=1 and FIND_IN_SET({$kchild},a.kindlist) order by case when c.displayorder is null then 9999 end,c.displayorder asc,a.modtime desc,a.addtime desc limit 0,4"; } else { $sql = "select {$basefield} a from #@__line where a.ishidden=0 and a.isjian=1 order by a.displayorder asc,a.modtime desc,a.addtime desc limit {$limit},{$row}"; } } else { if ($type == 'destsearchrec') { if ($GLOBALS['destid'] != 0) { $kchild = $GLOBALS['destid']; $sql = "select {$basefield} from #@__line as a left join #@__kindorderlist as c on (c.classid={$kchild} and a.id=c.aid and c.typeid=1) where a.ishidden=0 and FIND_IN_SET({$kchild},a.kindlist) {$orderby} limit 0,4"; } else { $sql = "select {$basefield} from #@__line a where a.ishidden=0 and a.isjian=1 order by a.displayorder asc,a.modtime desc,a.addtime desc limit {$limit},{$row}"; } } else { if ($type == 'top') { if ($flag == 'recommend') { $sql = "select {$basefield},b.isding,b.istejia,b.displayorder from #@__line as a left join #@__allorderlist b on (a.id=b.aid and b.typeid=1) where a.ishidden=0 order by case when b.displayorder is null then 9999 end, b.displayorder asc,a.modtime desc,a.addtime desc limit {$limit},{$row}"; } else { if ($flag == 'specical') { $sql = "select {$basefield},b.isding,b.istejia,b.displayorder from #@__line as a left join #@__allorderlist b on (a.id=b.aid and b.typeid=1) where a.ishidden=0 order by b.displayorder asc,a.modtime desc,a.addtime desc limit {$limit},{$row}"; } else { if ($flag == 'hot') { $sql = "select {$basefield} from #@__line a where a.ishidden=0 order by a.shownum desc,a.modtime desc,a.addtime desc limit {$limit},{$row}"; } else { if ($flag == 'attribute') { if (empty($attrid)) { $attrid = $refObj->Fields['attrid']; } $sql = "select {$basefield} from #@__line a where FIND_IN_SET('{$attrid}',a.attrid) and a.ishidden=0 order by a.displayorder asc,a.modtime desc,a.addtime desc limit {$limit},{$row}"; } else { if ($flag == 'relative') { $kindlist = $refObj->Fields['kindlist']; $maxkindid = array_remove_value($kindlist); //最后一级. $maxkindid = empty($maxkindid) ? $GLOBALS['dest_id'] : $maxkindid; $maxkindid = empty($maxkindid) ? 0 : $maxkindid; $where = " FIND_IN_SET({$maxkindid},a.kindlist) "; $sql = "select {$basefield} from #@__line a where {$where} and a.ishidden=0 order by a.shownum desc,a.modtime desc,a.addtime desc limit 0,{$row}"; } else { if ($flag == 'listexcept') { $sql = "select aid from #@__line where isjian=1 and a.ishidden=0 order by isjian desc,displayorder asc limit 0,5"; $dsql->Execute("list", $sql); $a = ""; while ($str = $dsql->GetArray("list")) { $a .= $str["aid"] . ","; } $a = substr($a, 0, -1); if (!$a == "") { $a = "and aid not in ({$a})"; } $sql = "select {$basefield} from #@__line a where {$a} order by a.shownum desc limit {$limit},{$row}"; } } } } } } } else { if ($type == 'theme') { $themeid = $refObj->Fields['themeid']; if (empty($themeid)) { return ''; } $sql = "select {$basefield} from #@__line a where a.ishidden=0 and FIND_IN_SET({$themeid},a.themelist) order by a.modtime desc,a.addtime desc limit 0,{$row}"; } else { if ($type = "day") { $dayid = $refObj->Fields['groupid']; if (empty($dayid)) { return ''; } $sql = "select {$basefield} from #@__line a where a.ishidden=0 and a.lineday={$dayid} order by a.modtime desc,a.addtime desc limit 0,{$row}"; } } } } } } $dsql->SetQuery($sql); $dsql->Execute(); $ctp = new STTagParse(); $ctp->SetNameSpace("field", "[", "]"); $ctp->LoadSource($innertext); $GLOBALS['autoindex'] = 0; $num = 0; while ($row = $dsql->GetArray()) { $GLOBALS['autoindex']++; $webroot = GetWebURLByWebid($row['webid']); $url = $webroot . "/lines/show_{$row['aid']}.html"; $row['url'] = $url; $row['bookurl'] = "{$webroot}/lines/booking_{$row['aid']}.html"; $startcity = getStartCityName($row['startcity']); $startcity = !empty($startcity) ? "[{$startcity}出发]" : ''; if (!empty($GLOBALS['cfg_startcity_open'])) { $row['title'] = "{$startcity}{$row['title']}"; } else { $row['title'] = "{$row['title']}"; } $row['startcity'] = $startcity; $row['color'] = !empty($row['color']) ? "color:{$row['color']}" : ''; $real = getLineRealPrice($row['aid'], $row['webid']); $row['lineprice'] = $real ? $real : $row['price']; $row['commentnum'] = Helper_Archive::getCommentNum($row['id'], 1); //评论次数 $row['sellnum'] = Helper_Archive::getSellNum($row['id'], 1); //销售数量 //$row['satisfyscore']=Helper_Archive::getSatisfyScore($row['id'],1); //满意度 //获取后台满意度拼接% $row['satisfyscore'] = !empty($row['satisfyscore']) ? $row['satisfyscore'] . "%" : ""; if (!empty($row['lineprice']) && !empty($row['storeprice'])) { $row['discount'] = abs((int) $row['storeprice'] - (int) $row['price']); } else { $row['discount'] = 0; } $row['price'] = empty($row['lineprice']) ? '<span class="rmb_1">电询</span>' : "<span class='rmb_1'>¥</span><span class='rmb_2'>" . $row['lineprice'] . '</span>'; $row['price2'] = empty($row['lineprice']) ? '<span>电询</span>' : '<span>¥</span><strong>' . $row['lineprice'] . '</strong><i>起</i>'; $row['agentprice'] = intval($row['storeprice']); $row['sellprice'] = empty($row['lineprice']) ? '0' : $row['lineprice']; //没有HTML标识的价格 $row['storeprice'] = !empty($row['storeprice']) ? "<span class=\"rmb_2\">¥</span>" . $row['storeprice'] : "<span class=\"rmb_1\">电询</span>"; $row['lineseries'] = getSeries($row['id'], '01'); //$row['lit240']=getPicByName($row['linepic'],'lit240'); //$row['lit160']=getPicByName($row['linepic'],'lit160'); $row['litpic'] = getUploadFileUrl($row['litpic']); $row['lit240'] = getUploadFileUrl(str_replace('litimg', 'lit240', $row['litpic'])); $row['lit160'] = getUploadFileUrl(str_replace('litimg', 'lit160', $row['litpic'])); $row['jifentprice'] = !empty($row['jifentprice']) ? '¥' . $row['jifentprice'] : '无'; $row['startdate'] = getLine_StartDate($row); //团期 $row['jifentprice'] = MLine::getMinTprice($row['id']); $row['list'] = $num; foreach ($ctp->CTags as $tagid => $ctag) { if ($ctag->GetName() == 'array') { $ctp->Assign($tagid, $row); } else { $ctp->Assign($tagid, $row[$ctag->GetName()]); } } $revalue .= $ctp->GetResult(); } return $revalue; }