国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Ecshop > 正文

如何讓ecshop按分類首字母排序的方法

2024-07-09 22:56:51
字體:
來源:轉載
供稿:網友
如何讓ecshop按分類首字母排序的方法

我們要實現的是 把分類按拼音的首個字母來分類展示
首先我們在分類主表價格字段!這個字段的用處就是用來保存每個分類的首字母
后臺執行SQL
輸入以下代碼

ALTER TABLE `ecs_category` ADD `cat_name_zm` VARCHAR( 10 ) NOT NULL AFTER `cat_name` ;

復制代碼

打開編輯分類的程序 在admin 目錄下的 category.php
找到

if ($_REQUEST['act'] == ‘insert’)

復制代碼

在上面添加

/*拼音函數–start*/
function getinitial($str)
{
$asc=ord(substr($str,0,1));
if ($asc<160) //非中文
{
if ($asc>=48 && $asc<=57){
return ’1′; //數字
}elseif ($asc>=65 && $asc<=90){
return chr($asc); // A–Z
}elseif ($asc>=97 && $asc<=122){
return chr($asc-32); // a–z
}else{
return ‘~’; //其他
}
}
else //中文
{
$asc=$asc*1000+ord(substr($str,1,1));
//獲取拼音首字母A–Z
if ($asc>=176161 && $asc<176197){
return ‘A’;
}elseif ($asc>=176197 && $asc<178193){
return ‘B’;
}elseif ($asc>=178193 && $asc<180238){
return ‘C’;
}elseif ($asc>=180238 && $asc<182234){
return ‘D’;
}elseif ($asc>=182234 && $asc<183162){
return ‘E’;
}elseif ($asc>=183162 && $asc<184193){
return ‘F’;
}elseif ($asc>=184193 && $asc<185254){
return ‘G’;
}elseif ($asc>=185254 && $asc<187247){
return ‘H’;
}elseif ($asc>=187247 && $asc<**66){
return ‘J’;
}elseif ($asc>=**66 && $asc<192172){
return ‘K’;
}elseif ($asc>=192172 && $asc<194232){
return ‘L’;
}elseif ($asc>=194232 && $asc<196195){
return ‘M’;
}elseif ($asc>=196195 && $asc<197182){
return ‘N’;
}elseif ($asc>=197182 && $asc<197190){
return ‘O’;
}elseif ($asc>=197190 && $asc<198218){
return ‘P’;
}elseif ($asc>=198218 && $asc<200187){
return ‘Q’;
}elseif ($asc>=200187 && $asc<200246){
return ‘R’;
}elseif ($asc>=200246 && $asc<203250){
return ‘S’;
}elseif ($asc>=203250 && $asc<205218){
return ‘T’;
}elseif ($asc>=205218 && $asc<206244){
return ‘W’;
}elseif ($asc>=206244 && $asc<209185){
return ‘X’;
}elseif ($asc>=209185 && $asc<212209){
return ‘Y’;
}elseif ($asc>=212209){
return ‘Z’;
}else{
return ‘~’;
}
}
}
/*拼音函數–end*/

復制代碼

找到

$cat['cat_id'] = !empty($_POST['cat_id']) ? intval($_POST['cat_id']) : 0;

復制代碼

在上面添加

*設置分類首字母*/
$zmcat_name = $_POST['cat_name'];
$cat['cat_name_zm'] = getinitial($zmcat_name);

復制代碼

前臺調用

/*查詢所有分類*/
$cat_sql = “select * from ecs_category ORDER BY cat_name_zm ASC”;
$res = $GLOBALS['db']->getAll($cat_sql);
$smarty->assign(‘categorycat’,$res);

復制代碼

模板判斷輸出

<!–{foreach from=$categorycat item=cat}–>
{if $cat.cat_name_zm eq A}
<li><a href=”category.php?id={$cat.cat_id}”>{$cat.cat_name} </a></li>
{/if}
<!–{/foreach}–>

復制代碼

簡簡單的方法吧!直接在模板判斷 {if $cat.cat_name_zm eq A} 這個意思是把分類首字母是 A 全部輸出來!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海原县| 信阳市| 方城县| 禹城市| 余庆县| 湟中县| 抚顺市| 新安县| 顺义区| 道孚县| 汤原县| 罗平县| 临武县| 连云港市| 高密市| 金平| 乌苏市| 中西区| 聂荣县| 孝感市| 双鸭山市| 阿合奇县| 小金县| 利辛县| 清徐县| 琼结县| 临泽县| 泽州县| 乐业县| 霍城县| 尖扎县| 南丹县| 芒康县| 黎平县| 皋兰县| 临高县| 齐齐哈尔市| 高州市| 永川市| 日照市| 仪陇县|