亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > 織夢DEDE > 正文

dedcms織夢實現自定義字段進行產品篩選

2024-07-12 09:10:20
字體:
來源:轉載
供稿:網友
企業dedecms網站中如果一些產品有很多不同的交叉屬性,就需要用到:1、后臺為該產品添加一些自定義的篩選字段 2、前臺根據這些字段逐層篩選 更方便客戶找到他需要的產品(文章)
本插件(文件)完全不動dedecms 任何核心文件;
需要增加和修改的地方為:
1、進行篩選的動態php頁面;本篇在wwwroot/plus 下面增加 pcba.php頁面;
2、在模板目錄下增加用于顯示的模板文件;本篇在wwwroot/templets/default/ 下面增加 list_PCBA_with_type.htm 頁面;
3、在/include/文件價下找到 extend.func.php 文件 增加一些函數

本文僅作拋磚引玉(功能已實現),希望大家一起來完善(美化)該插件;

本人水平有限,還有很多不足之處;不過以下代碼已經能將核心功能完成,也很實用(很多網友需要用到的)



1、在wwwroot/plus 下面增加 pcba.php頁面;
代碼如下:
------------------------------------------------------------------------------------------
<?php

require_once("../ouyp/config.php");
require_once(DEDEINC."/dedetag.class.php");
require_once(dirname(__FILE__).'/../include/common.inc.php');
require_once(DEDEINC."/extend.func.php");

$currentUrl = $_SERVER["REQUEST_URI"];


//根據當前URL中包含的查詢字符串進行進行篩選并返回所有符合條件的板卡的ID值,以逗號分隔
function returnQueryIDS($url){
    $data = array();
    $parameter = explode('&',end(explode('?',$url)));
    $addquery = count($parameter);
    foreach($parameter as $val){
        $tmp = explode('=',$val);
        $data[$tmp[0]] = $tmp[1];
    }
    $query = $query."and".$tmp[0];
    if($addquery == '1'){
        foreach ($data as $key => $value) {
            $value = urldecode($value);
            $query = "SELECT * FROM `waimaomoban_pcba` WHERE FIND_IN_SET('$value',$key)";
        }
    }else {
        $firstquery = array_slice($data,0,1);
        $otherquery = array_slice($data,1);
        foreach ($firstquery as $key => $value) {
            $value = urldecode($value);
            $query = "SELECT * FROM `waimaomoban_pcba` WHERE FIND_IN_SET('$value',$key)"; 
        }
        foreach ($otherquery as $key => $value) {
            $value = urldecode($value);
            $query = $query." and FIND_IN_SET('$value',$key)";
        }
    }
    $orderby = ' order by aid desc ';
    $query = $query.$orderby;
    if($addquery !== 0){
        global $dsql;
        $array = array();
        $dsql->SetQuery($query);
        $dsql->Execute();
        while($row = $dsql->GetArray())
        {
            $aids = array_push($array,$row['aid']);
        }
        $aids = join(",",$array);
    }else{
            $aids = 0;
    }
    return $aids;
}
//根據網址查詢的字段返回所有符合條件的板卡ID值集合,并輸出ID值集合中所有的產品
returnPCBAArc(returnQueryIDS($currentUrl));

require_once(DEDETEMPLATE.'/default/list_PCBA_with_type.htm');

-------------------------------------------------------------------------------------------


2、在wwwroot/templets/default/ 下面增加 list_PCBA_with_type.htm 頁面
核心顯示代碼如下:

<div style="width:750px; float:left; padding-left:10px; height:150px; padding-top:7px; text-align:left; clear:both">
<table width="99%" border="0" cellspacing="0" cellpadding="0">

 
  <tr>
    <td valign="top" width="120px">板卡架構:</td>
    <td valign="top"><?php returnFieldValuesPHP($currentUrl,"jiagou","1"); ?>
</td>
  </tr>
 
    <tr>
    <td valign="top"> CPU 核心:</td>
    <td valign="top"> <?php returnFieldValuesPHP($currentUrl,"hexin","1"); ?>
</td>
  </tr>
<tr>
<td valign="top">應用領域</td>
<td valign="top"><?php returnFieldValuesPHP($currentUrl,"hangye","1"); ?></td>
</tr>
<tr>
<td valign="top">板卡尺寸</td>
<td valign="top"><?php returnFieldValuesPHP($currentUrl,"type_size","1"); ?></td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top"> </td>
</tr>
</table>
</div>
-----------------------------------------------------------------------------------------


3、在/include/文件價下找到 extend.func.php 文件 增加以下函數

------------------------------------------------------------
//根據傳遞過來的多個以逗號拼接的產品ID,形成數組、查詢并返回相應的產品
function returnPCBAArc($qstr,$orderby='id',$desc ='desc')
{
    global $dsql;
    if(!empty($qstr))
    {
        $arcids = preg_replace("#[^0-9,]#", '', preg_replace("#,#", ',', $qstr));
       
            $query = "SELECT * FROM `waimaomoban_archives` WHERE id in($arcids) order by $orderby $desc";
            $dsql->SetQuery($query);
            $dsql->Execute();
            while($row = $dsql->GetArray())
            {
                $url = GetOneArchiveUrl($row['id']);
                $aTitle = $row['title'];
                $picURL = $row['litpic'];
                $gonghao = $row['gonghao'];
                $size = $row['size'];
                $gaisu = $row['gaisu'];
                $keydesc = $row['keydesc'];
               
                $msg .="<DIV  style='float:left; border-right:1px #d0d9e2 solid; border-bottom:1px #d0d9e2 solid; width:332.6px;' >";
                $msg .="<UL class=productline_2><LI><DIV class=font14 style=overflow:hidden><SPAN style='FONT-WEIGHT: bold' id=BrandList_ctl06_lblSeriesName><a href=$url class='title' title='$aTitle'>$aTitle</a></SPAN> </DIV><DIV class=pic><a href=$url><img class='lazy' style='BORDER:none;WIDTH: 150px;' data-original=$picURL src='http://www.aiipc.com/templets/default//js/grey.gif' /></a></DIV>";
                $msg .="<DIV style='HEIGHT: 90px; OVERFLOW: hidden' class=intro><SPAN id=BrandList_ctl06_lblSeriesDescription><P><STRONG>$keydesc  </STRONG><BR>$gaisu</P></SPAN></DIV><SPAN class=text_o><a href=$url class=title>了解詳情></A></SPAN><div class=sc_size><div style=width: 80px class=left>功耗及尺寸:</div><span onmouseout=$(this).removeClass('size_a'); onmouseover=$(this).addClass('size_a'); class=size>$gonghao W </span> <span class=size>$size mm</span> </div></LI></UL></DIV>";
            }
       
    }
    print($msg);
}



//將數組轉化為查詢篩選字符串,類似&a=111&b=222
function array_implode($glue, $separator, $array) {
     if ( ! is_array( $array ) ) return $array;
     $string = array();
     foreach ( $array as $key => $val ) {
         if ( is_array( $val ) )
             $val = implode( ',', $val );
         $string[] = "{$key}{$glue}{$val}";
    }
     return implode( $separator, $string );
}
-----------------------------------------------------------------------

第三個函數最為關鍵

//獲取自定義字段所有值并附帶鏈接
function returnFieldValuesPHP($currentURl,$customField,$type='',$id='17')
{
    global $dsql;
    if(!empty($customField))
    {
        $fname = $customField;
        $row = $dsql->GetOne("SELECT fieldset,'' as maintable,addtable,issystem FROM `waimaomoban_channeltype` WHERE id='$id'");
        $fieldset = $row['fieldset'];
        $trueTable = $row['addtable'];
        $dtp = new DedeTagParse();
        $dtp->SetNameSpace("field", "<", ">");
        $dtp->LoadSource($fieldset);
        foreach($dtp->CTags as $ctag)
        {
            if(strtolower($ctag->GetName())==strtolower($fname)) break;
        }
        //將當前路徑數組化
        $parameter = explode('&',end(explode('?',$currentURl)));
        $addquery = count($parameter);
        foreach($parameter as $val){
            $tmp = explode('=',$val);
            $data[$tmp[0]] = $tmp[1];
        }
       
        $rowValue = explode(",",$ctag->GetAtt('default'));
        $filename = "pcba.php";
        foreach($rowValue as $key=>$value)
        {
                if($addquery !== 0){
                        //檢查當前路徑中是否已經存在某個查詢的自定義字段選項,如存在則重新賦值,否則直接用"&"添加查詢字段
                        if(array_key_exists($customField, $data)){
                            $data[$customField] = $value;
                            //將路徑數組重新生成路徑
                            $newdata = array();
                            $newdata = $data;
                           
                            $firstquery = array_slice($newdata,0,1);
                            $otherquery = array_slice($newdata,1,5);
                            foreach($firstquery as $k1 =>$v1){
                                $fURl = $filename."?".$k1."=".$v1;
                            }
                           
                            if(count($otherquery) !== 0){
                                next(implode("&", $otherquery));
                                $query = array_implode( '=', '&', $otherquery);
                                //print_r($query);
                                $newURl = $fURl."&".$query ;
                            }else{
                                $newURl = $fURl;
                            }
                        }else{
                            $newURl = $currentURl."&".$customField."=".$value;
                        }
                   
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人在线视频| 亚洲图片制服诱惑| 97精品欧美一区二区三区| 精品国内产的精品视频在线观看| 久久精品成人一区二区三区| 日韩黄色在线免费观看| 97成人在线视频| 国产精品99久久久久久白浆小说| x99av成人免费| 欧美主播福利视频| 国产精品午夜国产小视频| 欧美日韩成人黄色| 91精品国产91| 亚洲aⅴ男人的天堂在线观看| 综合av色偷偷网| 在线日韩日本国产亚洲| 91亚洲国产成人久久精品网站| 九九精品视频在线| 亚洲欧洲日韩国产| 亚洲第一福利网| 亚洲一级一级97网| 国产精品va在线播放我和闺蜜| 久久激情五月丁香伊人| 综合国产在线视频| 中日韩午夜理伦电影免费| 欧美性资源免费| 91美女福利视频高清| 亚洲性xxxx| 国产大片精品免费永久看nba| 57pao国产精品一区| 午夜精品一区二区三区在线视| 精品久久久久久久久久久| 91久久夜色精品国产网站| 色噜噜亚洲精品中文字幕| 国产精品嫩草影院一区二区| 97香蕉超级碰碰久久免费软件| 欧美激情视频免费观看| 日韩综合视频在线观看| 日本国产一区二区三区| 岛国av一区二区在线在线观看| 中文字幕亚洲无线码a| 日韩免费电影在线观看| 九九综合九九综合| 国产一区二区三区丝袜| 欧美最猛黑人xxxx黑人猛叫黄| 伊人久久久久久久久久| 欧美日韩精品在线观看| 欧美激情欧美激情| 欧美电影免费播放| 国精产品一区一区三区有限在线| 成人免费在线网址| 国产精品免费视频久久久| 国产精品专区第二| 亚洲深夜福利视频| 欧美福利视频在线| 成人在线国产精品| 欧美视频裸体精品| 亚洲欧美成人一区二区在线电影| 欧美电影免费看| 欧美激情精品久久久久久免费印度| 2021国产精品视频| 亚洲伊人久久大香线蕉av| 欧美在线观看日本一区| 国产精品第1页| 欧美日韩电影在线观看| 国产精品99免视看9| 国产精品旅馆在线| 欧美又大又粗又长| 精品视频在线播放| 欧美激情在线观看视频| 日本久久久久久久久久久| 深夜福利亚洲导航| 日韩精品久久久久| 亚洲精品大尺度| 91精品久久久久久久久| 国产在线精品成人一区二区三区| 国产日韩欧美中文在线播放| 日韩第一页在线| 亚洲国产精品人久久电影| 欧美激情欧美激情在线五月| 国产精品日日做人人爱| 这里只有精品视频| 国产精品久久久久久av| 亚洲欧美另类中文字幕| 精品无人区太爽高潮在线播放| 国产中文字幕亚洲| 国产欧美一区二区三区在线看| 欧美最顶级的aⅴ艳星| 亚洲第五色综合网| 亚洲综合社区网| 日韩精品视频在线观看免费| 色综合久久悠悠| 91高潮在线观看| 91久久精品国产91性色| www.精品av.com| 亚洲男人天堂九九视频| 久久免费精品视频| 伊人伊成久久人综合网站| 中文字幕久热精品在线视频| 亚洲在线观看视频网站| 国产欧美欧洲在线观看| 国产亚洲欧美视频| 韩国v欧美v日本v亚洲| 在线成人免费网站| 久久久噜久噜久久综合| 狠狠爱在线视频一区| 成人在线视频网| 日韩一区二区三区xxxx| 亚洲欧美中文字幕| 在线色欧美三级视频| 动漫精品一区二区| 在线性视频日韩欧美| 成人天堂噜噜噜| 久久免费视频在线| 久久精品亚洲热| 国产成人av网址| 日韩hd视频在线观看| 亚洲美女中文字幕| 国产区精品视频| 欧美成人午夜影院| 国产精品狼人色视频一区| 国产精品成人国产乱一区| 国产精品视频久| 日韩av大片在线| 欧美综合国产精品久久丁香| 亚洲成人教育av| 国产亚洲一区精品| 久久99热精品这里久久精品| 91亚洲精品一区| 欧美日韩激情网| 亚洲综合色av| 国产精品狠色婷| 国产精品福利网| www日韩中文字幕在线看| 色综合伊人色综合网| 久久的精品视频| 精品久久久久国产| 亚洲国产天堂久久综合| 亚洲韩国欧洲国产日产av| 欧美性猛交xxxx偷拍洗澡| 午夜精品一区二区三区在线播放| 国产综合久久久久| 日韩av免费在线| 国产一区二区三区视频在线观看| 日韩电视剧免费观看网站| 亚洲成人精品久久| 亚洲图片制服诱惑| 97在线观看视频国产| 亚洲免费av片| 日韩av网站电影| 亚洲精品97久久| 91免费精品国偷自产在线| 草民午夜欧美限制a级福利片| 日韩不卡在线观看| 亚洲欧美在线免费| 欧美老女人性视频| 日韩成人网免费视频| 亚洲aⅴ男人的天堂在线观看| 九九热视频这里只有精品| 日韩有码在线播放| 午夜精品理论片| xxx欧美精品| 98精品国产高清在线xxxx天堂| 精品女同一区二区三区在线播放|