帝國cms結合控制變量實現(xiàn)結合項篩選功能帶首字母篩選的方法推薦
說到結合項篩選,官方已有提供一種方法,但是的話就是比較繁瑣,下面介紹用控制變量來實現(xiàn)這個功能,這個帶首字母篩選的。
重點修改前;先備份,先備份,先備份。
內容有的多,優(yōu)點是配置好后,后面添加修改比較方便。
1:在系統(tǒng)變量里面,添加一個變量-變量的值-多個用逗號隔開;(這里的值就是后面要篩選的篩選名稱)如圖:

2:在數(shù)據(jù)表推薦兩個要適用到的字段,分別是選項字段和控制變量里面的變量名一致;字母篩選的話隨便都可以:(在添加字段要修改 輸入表單替換html代碼,必須先默認提交在回來來修改,才會生效)如圖:

首字母的話 直接添加默認即可。
下面部分是輸入表單顯示元素,復選框,單選框和下拉的表單替換html代碼。
復選框代碼
<?
$p_screen=explode(",",$public_r['add_screen']);
for($i=0;$i<count($p_screen);$i++)
{
$j=$i+1;
?>
<input name="screen[]" type="checkbox" value="<?=$j?>"<?=strstr($r[screen],"|".$j."|")?' checked':''?>><?=$p_screen[$i]?>
<?
}
?>
單選框的寫法
<?
$p_screen=explode(",", $public_r['add_screen']);
for($i=0; $i<count($p_screen); $i++) {
$j = $i+1;
?>
<input name="screen" type="radio" value="<?=$j?>"<?= $r['screen'] == (string)$j ? ' checked' : ''?>><?=$p_screen[$i]?>
<? } ?>
下拉選擇
<?
$j=0;
$p_diqu=explode(",",$public_r['add_xiala']);
for($i=0;$i<count($p_diqu);$i++)
{
$j=$i+1;
$diqu_selected='';
if ($r[diqu]==$j){
$diqu_selected=' selected';
}
$diqu.='<option value="'.$j.'"'.$diqu_selected.'>'.$p_diqu[$i].'</option>';
}
?>
<select name="xiala" id="xiala"><?=$diqu?></select>
2-1:添加好字段后要在-系統(tǒng)模型-修改里面,把字段項選擇上,尤其篩選項必須選擇-然后點錄入表單模板
( 自動生成表單模板) 提交;
3:在eclassuserfun.php搭建下面的代碼:字段和變量名填寫自己開始寫哪個。
function user_screen($id){
global $public_r;
$pd_record=explode(",",$public_r['add_screen']);
return $pd_record[$id-1];
}
4:在模板里面調用
4-1:首頁和內容或其他欄目可以這樣寫:
<?
$p_ticai=explode(",",$public_r['add_screen']);
for($i=0;$i<count($p_ticai);$i++)
{
$j=$i+1;
?>
<li><a href="/list-1-<?=$j?>-0-0-0.html"><?=$p_screen[$i]?></a></li>
<?
}
?>
4-2:在列表里面這樣寫,首頁為了方便修改可以單獨建一個列表模板:
列表模板的最開始這樣寫:
<?
$classid=(int)$GLOBALS[navclassid];
$screen=(int)$_GET['screen'];
$zm=$_GET['zm']?$_GET['zm']:'0';
$orderby=(int)$_GET['orderby'];
$ticaitile=user_screen($screen);
?>
然后需要顯示的地方:
<dt>篩選:</dt>
<li><a<?if (!$screen){?> class="active"<?}?> href="/list-<?=$classid?>-0-<?=$zm?>-<?=$orderby?>-0.html">全部</a></li>
<?
$p_screen=explode(",",$public_r['add_screen']);
for($i=0;$i<count($p_screen);$i++)
{
$j=$i+1;
?>
<li><a<?if ($screen==$j){?> class="active"<?}?> href="/list-<?=$classid?>-<?=$j?>-<?=$zm?>-<?=$orderby?>-0.html"><?=$p_screen[$i]?></a></li>
<?
}
?>
字母篩選代碼:
<dt>字 母:</dt>
<li><a<?if (!$zm){?> class="active"<?}?> href="/list-<?=$classid?>-<?=$screen?>-0-<?=$orderby?>-0.html" >全部</a></li>
<?
$p_zm=explode(",","A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z");
for($i=0;$i<count($p_zm);$i++)
{
?>
<li><a<?if ($zm==$p_zm[$i]){?> class="active"<?}?> href="/list-<?=$classid?>-<?=$screen?>-<?=$p_zm[$i]?>-<?=$orderby?>-0.html"><?=$p_zm[$i]?></a></li>
<?
}
?>
這個包括了選擇后的高亮狀態(tài) active元素 這個樣式自行寫即可。
5:標題的調用和優(yōu)化;可以按照這樣來寫:
<title><?=$ticaitile?>-[!--list.pageno--]<?=$public_r['add_name']?></title>
6:分頁的樣式和修改:eclassconnect.php搜索 //前臺分頁 注釋或刪除,然后換成下面的樣式按照原模板來改即可;
//前臺分頁(列表結合項分頁樣式)
function page1($num,$line,$page_line,$start,$page,$search){
global $fun_r;
$num=(int)$num;
$line=(int)$line;
$page_line=(int)$page_line;
$start=(int)$start;
$page=(int)$page;
$classid=(int)$GLOBALS[navclassid];
$screen=(int)$_GET['screen'];
$infozm=$_GET['zm']?$_GET['zm']:'0';
$orderby=(int)$_GET['orderby'];
if($num<=$line)
{
return '';
}
$search='.html';
$url='/list-'.$classid.'-'.$screen.'-'.$zm.'-'.$orderby;
$snum=2;//最小頁數(shù)
$totalpage=ceil($num/$line);//取得總頁數(shù)
//$firststr='<a title="'.$fun_r['trecord'].'"> <b>'.$num.'</b> </a>';
//上一頁
if($page<>0)
{
$toppage='<li><a href="'.$url.'-0'.$search.'"><<</a></li>';
$pagepr=$page-1;
$prepage='<li><a href="'.$url.'-'.$pagepr.$search.'"><</a></li>';
}
//下一頁
if($page!=$totalpage-1)
{
$pagenex=$page+1;
$nextpage='<li><a href="'.$url.'-'.$pagenex.$search.'">></a></li>';
$lastpage='<li><a href="'.$url.'-'.($totalpage-1).$search.'">>></a></li>';
}
$starti=$page-$snum<0?0:$page-$snum;
$no=0;
for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)
{
$no++;
if($page==$i)
{
$is_1='<a href="'.$url.'-'.$i.$search.'" class="active">';
$is_2="</a>";
}
else
{
$is_1='<li><a href="'.$url.'-'.$i.$search.'">';
$is_2="</a></li>";
}
$pagenum=$i+1;
$returnstr.=$is_1.$pagenum.$is_2;
}
$returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
return $returnstr;
}
最后一步就是偽靜態(tài)的配置:這里解釋一下:List.php文件放到根目錄下/e/action/ 不會沖突直接復制即可(已打包自行下載)
相關推薦
-
帝國cms篩選結合項標題seo優(yōu)化方法
首頁要其他自己的結合項字段,上面的php修改為自己的后放到,單獨建立的結合篩選的最前面。
-
帝國CMS list.pageno列表動態(tài),篩選結合項和tag標簽的頁分頁號seo優(yōu)化
列表頁動態(tài)偽靜態(tài)篩選時候的一個顯示當前分頁號的功能。變量所在的文件:/e/action/ListInfo.php,用于顯示第多少頁有利于優(yōu)化。
-
帝國CMS結合項技巧實現(xiàn)列表多樣化操作步驟
mid代表欄目的id,tempid代表你數(shù)據(jù)表的id,orderby是按照什么順序顯示,一般為時間,點贊,點擊等等。2.偽靜態(tài)鏈接實現(xiàn)(稍復雜),需要配合偽靜態(tài)規(guī)則
-
解決官方結合項字定義字段值不支持0
解決官方結合項字定義字段值不支持0
-
如何利用Layui實現(xiàn)可折疊的商品分類篩選功能
如何利用Lyui實現(xiàn)可折疊的商品分類篩選功能,需要具體代碼示例隨著電商行業(yè)的不斷發(fā)展,商品分類篩選功能成為了一個網(wǎng)站的重要組成部分。而Lyui是一款非常流行的前端框架,它提供了豐富的組件和簡潔的















