Empire タグを使用して現在の列を強調表示するにはどうすればよいですか?
Empire カスタム タグを使用して現在の列を強調表示する
いくつかのテストの後、便利だと思う方法を見つけたので、ここに記録します。
1. カスタム タグを使用する必要があるため、最初に \e\class\userfun.php にカスタム関数を追加する必要があります。つまり、
「Empire cms」を学習することをお勧めします。チュートリアル >>
コードは次のとおりです:
//取得顶级栏目ID函数 function user_GetTopBclassid($classid){ global $class_r; $fr=explode('|',$class_r[$classid][featherclass]); $topbclassid=$fr[1]?$fr[1]:$classid;//取得第一级栏目id return $topbclassid; }
2. 次に、スマート ラベルを使用してナビゲーション パーツを呼び出し、=user_GetTopBclassid($GLOBALS[navclassid) ])?> 現在の列 ID と親列 ID を動的に取得します。
コードは次のとおりです:
<ul class="menu"> <li id="current"><a href="/">首页</a></li> <!--灵动标签开始--> [e:loop={'select classid,classname,classpath,bclassid,bname from [!db.pre!]enewsclass where bclassid=0 order by classid',0,24,0}] <li id="current<?=$bqr[classid]?>"><a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" title="<?=$bqr[bname]?>" target="_self" ><?=$bqr[classname]?></a></li> [/e:loop] <style type="text/css"><!--加入动态css样式--> <!-- #menu #current<?=user_GetTopBclassid($GLOBALS[navclassid])?> /*---动态获取当前栏目id -*/ {background:url(/images/2008a/bg_menu_on_left.gif) no-repeat; font-weight:bold;} #menu #current<?=user_GetTopBclassid($GLOBALS[navclassid])?> a,#menu #current<?=user_GetTopBclassid($GLOBALS[navclassid])?> a:hover{color:#000; background:url(/images/2008a/bg_menu_on_right.gif) no-repeat right;} --> </style> <!--灵动标签结束-->
3. [!--temp.tab--] などの変数をテンプレート変数に作成し、それにステップ 2 のコードを追加します。そして、それをホームページに表示できます。そして、リストページが呼び出されます。
フォーラムのトイレからの返信を引用=user_GetTopBclassid($GLOBALS[navclassid])?>
ホームページの場合、現在の列は空です。 つまり、チャンネル
が現在第 1 レベルの列である場合、それはチャンネルの現在の列 ID です。
第 1 レベルの列ではなく、チャネルの第 1 レベルの親列 ID です。
有効なアンダーカバー テンプレート、リスト テンプレート、およびコンテンツ テンプレート
以上が帝国ラベルを使用して現在の列を強調表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。