1、帝國cms多級菜單在當前欄目展開多高亮顯示
首先在/e/class/userfun.php這個文件裡面加上下面代碼.上面父欄目的,下面子欄目的.紅色代表css樣式.自定義吧
function currentPage($classid,$thisid){
global $class_r;
$fr=explode('|',$class_r[$classid][featherclass]);
$topbclassid=$fr[1]?$fr[1]:$classid;
if ($topbclassid==$thisid) {
echo "current";
}
else {
}
}
function OnePage($classid,$thisid){
global $class_r;
$fr=explode('|',$class_r[$bclassid][featherclass]);
$topbclassid=$fr[1]?$fr[1]:$classid;
if ($topbclassid==$thisid) {
echo "one";
}
else {
}
}
模板中,上面父欄目,下面子欄目
2、MVC前台菜單在cms寫死了,還能分配菜單許可權嗎?
在phpcms中,聯動菜單的管理位置位於「後台-擴展-聯動菜單」支持自定義添加,聯動菜單一般有使用用法:一、在數據模型中創建自定義欄位(可參考iphpcms的教程)時欄位類型設置為「聯動菜單」,然後在「菜單id」選項處通過聯動菜單列表選擇你的地區聯動菜單,並可設定聯動菜單的返回值的方式。然後在內容添加編輯界面可出現此聯動菜單項,此方法常用。二、在phpcms模板中直接調用聯動菜單,此方法不常用。具體方法是來到後台-擴展-聯動菜單列表,你會看到每一個聯動菜單都有一個調用代碼,將此代碼復制粘貼到你想放的模板位置即可。但根據經驗,這還不夠,因為雖然通過此代碼把聯動菜單掉出來了,但是因為缺乏此帶單顯示時的css、js文件,往往顯示不正常,所以需要保證你的模板里同時引入了statics/js/dialog.js、statics/js/linkage/js/pop.js、statics/css/dialog.css等文件。需要對phpcms有一定了解。
3、thinkphp框架怎麼做一個三級菜單
thinkphp框架onethink後台支持三級菜單
onethink後台支持三級菜單,CMS管理後台1.0版本本身不支持三級菜單,稍加改動,即可支持無限級分類
/**
* 獲取控制器菜單數組,二級菜單元素位於一級菜單的'_child'元素中
* @author 朱亞傑 <[email protected]>
*/
final public function getMenus($controller=CONTROLLER_NAME){
// $menus = session('ADMIN_MENU_LIST'.$controller);
$flag=false;//是否開啟menu三級菜單
if(empty($menus)){
// 獲取主菜單
$where['pid'] = 0;
$where['hide'] = 0;
if(!C('DEVELOP_MODE')){ // 是否開發者模式
$where['is_dev'] = 0;
}
$menus['main'] = M('Menu')->where($where)->order('sort asc')->select();
$menus['child'] = array(); //設置子節點
//高亮主菜單
$current = M('Menu')->where("url like '%{$controller}/".ACTION_NAME."%'")->field('id')->find();
if($current){
$nav = D('Menu')->getPath($current['id']);
$nav_first_title = $nav[0]['title'];
foreach ($menus['main'] as $key => $item) {
if (!is_array($item) || empty($item['title']) || empty($item['url']) ) {
$this->error('控制器基類$menus屬性元素配置有誤');
}
if( stripos($item['url'],MODULE_NAME)!==0 ){
$item['url'] = MODULE_NAME.'/'.$item['url'];
}
// 判斷主菜單許可權
if ( !IS_ROOT && !$this->checkRule($item['url'],AuthRuleModel::RULE_MAIN,null) ) {
unset($menus['main'][$key]);
continue;//繼續循環
}
// 獲取當前主菜單的子菜單項
if($item['title'] == $nav_first_title){
$menus['main'][$key]['class']='current';
//生成child樹
$groups = M('Menu')->where("pid = {$item['id']}")->distinct(true)->field("`group`")->select();
if($groups){
$groups = array_column($groups, 'group');
}else{
$groups = array();
}
//獲取二級分類的合法url
$where = array();
$where['pid'] = $item['id'];
$where['hide'] = 0;
if(!C('DEVELOP_MODE')){ // 是否開發者模式
$where['is_dev'] = 0;
}
$second_urls = M('Menu')->where($where)->getField('id,url');
$third_urlss=array();
if(!empty($second_urls) && $flag){
foreach($second_urls as $key=>$v){
$wheres = array();
$wheres['pid'] = $key;
$wheres['hide'] = 0;
if(!C('DEVELOP_MODE')){ // 是否開發者模式
$wheres['is_dev'] = 0;
}
$third_urls[] = M('Menu')->where($wheres)->getField('id,url');
foreach($third_urls as $vv){
foreach($vv as $key=>$vs){
$third_urlss[$key]=$vs;
}
}
}
}
if(!IS_ROOT){
// 檢測菜單許可權
$to_check_urls = array();
foreach ($second_urls as $key=>$to_check_url) {
if( stripos($to_check_url,MODULE_NAME)!==0 ){
$rule = MODULE_NAME.'/'.$to_check_url;
}else{
$rule = $to_check_url;
}
if($this->checkRule($rule, AuthRuleModel::RULE_URL,null))
$to_check_urls[] = $to_check_url;
}
if(!empty($third_urlss) && $flag){
foreach ($third_urlss as $key=>$to_check_urlss) {
if( stripos($to_check_urlss,MODULE_NAME)!==0 ){
$rules = MODULE_NAME.'/'.$to_check_urlss;
}else{
$rules = $to_check_urlss;
}
if($this->checkRule($rules, AuthRuleModel::RULE_URL,null))
echo $rules."<br/>";
$to_check_urlsss[] = $to_check_urlss;
}
}
}
// 按照分組生成子菜單樹
foreach ($groups as $g) {
$map = array('group'=>$g);
if(isset($to_check_urls)){
if(empty($to_check_urls)){
// 沒有任何許可權
continue;
}else{
$map['url'] = array('in', $to_check_urls);
}
}
$map['pid'] = $item['id'];
$map['hide'] = 0;
if(!C('DEVELOP_MODE')){ // 是否開發者模式
$map['is_dev'] = 0;
}
$menuList = M('Menu')->where($map)->field('id,pid,title,url,tip')->order('sort asc')->select();
$menus['child'][$g] = list_to_tree($menuList, 'id', 'pid', 'operater', $item['id']);
//支持三級菜單
if(!empty($menus['child'][$g]) && $flag){
foreach($menuList as $key=>$v){
$maps['pid'] = $v['id'];
$menuLists = M('Menu')->where($maps)->field('id,pid,title,url,tip')->order('sort asc')->select();
$menus['child'][$g][$key]['ttt'] = list_to_tree($menuLists, 'id', 'pid', 'operater', $v['id']);
}
}
}
if($menus['child'] === array()){
//$this->error('主菜單下缺少子菜單,請去系統=》後台菜單管理里添加');
}
}
}
}
// session('ADMIN_MENU_LIST'.$controller,$menus);
}
return $menus;
}
然後Public/base.html
<!-- 邊欄 -->
<div class="sidebar">
<!-- 子導航 -->
<block name="sidebar">
<div class="sidebar-collapse" id="sidebar-collapse">
<i class="fa fa-angle-double-left"><<</i>
</div>
<div id="subnav" class="subnav">
<notempty name="_extra_menu">
{// 動態擴展菜單 //}
{:extra_menu($_extra_menu,$__MENU__)}
</notempty>
<volist name="__MENU__.child" id="sub_menu">
<!-- 子導航 -->
<notempty name="sub_menu">
<notempty name="key"><h3><i class="icon icon-unfold"></i>{$key}</h3></notempty>
<ul class="side-sub-menu">
<volist name="sub_menu" id="menu">
<li>
<a class="item" href="{$menu.url|U}">{$menu.title}</a>
</li>
</volist>
<notempty name="menu.ttt">
<volist name="menu.ttt" id="menus">
<li>
<a class="item" href="{$menus.url|U}">{$menus.title}</a>
</li>
</volist>
</notempty>
</ul>
</notempty>
<!-- /子導航 -->
</volist>
</div>
</block>
<!-- /子導航 -->
</div>
4、有哪位大哥碰過cmseasy開源程序的?這是企業網站的,想問一下,後台中的樹弄的菜單是哪裡來的?
呵呵,lib/admin/admin_menu.php 需要使用黑刀解密一下,更多請參看 http://www.mujiantao.com
5、如何修改phpcms後台菜單
1.登錄phpcms後台首頁,點擊擴展->菜單管理(在左側)
2.進入菜單管理後,選擇要控制的菜單,點擊修改
3.在這里,還可以修改菜單的從屬關系,以實現後台菜單導航的更換
4.將是否顯示,勾選為顯示,點擊確定,並更新欄目緩存,同樣,修改的話也在這里
5.OK,全新的菜單結構就做好了!
6、帝國CMS的菜單導航怎麼修改?
信息分類模型的區域修改
1、提交信息選擇地區修改:系統設置-》數據表管理-》管理欄位-》修改myarea欄位的初始值。
2、模板導航地區修改:模板管理-》公共模板變數-》管理模板變數-》修改「分類信息區域導航」變數
7、帝國CMS怎樣製作下拉菜單?謝謝
標簽調用:
頁面模板內容:
<li><a href="[!--bclassurl--]" target="_blank" title="[!--bclassname--]">[!--bclassname--]</a>
<ul>
[!--empirenews.listtemp--]
<!--list.var1-->
[!--empirenews.listtemp--]
</ul>
</li>
列表內容模板:
<li><a href="[!--classurl--]" target="_blank" title="[!--classname--]">[!--classname--]</a></li>
8、phpcms v9 怎麼做二級菜單
phpcms v9中調用二級菜復單有2種方法:制
第一種:
{loop subcat(catid) $v}
{/loop}
這種方法的好處是代碼簡潔,容易記住。
缺點:不能限制顯示的條數
第二種方法:
{pc:content action=」category」 catid=」0″ }
{loop $data $r}
{$r[catname]} ——————-頂級欄目
{pc:content action=」category」 catid=」$r[catid]「}
{loop $data $v}
{$v[catname]}——————二級欄目
{/loop}
{/pc}
{/loop}
{/pc}
這種方法的優點:可以控制你想要的條數
9、急求:帝國CMS的導航的二級菜單(導航)製作、設置的詳細教程???
ttp://bbs.phome.net/showthread-35-29399-0.html" target="_blank">http://bbs.phome.net/showthread-35-29399-0.html
這里有個視頻
單獨的製作教程沒有,只有個網站的整體教程,包括安裝配置,模板等。
10、phpcms網站建設中,聯動菜單怎樣讀取?聯動菜單菜單調用方法
在phpcms中,聯動菜單的管理位置位於「後台-擴展-聯動菜單」,支持自定義添加。因為問題中沒有具體說明在哪裡調用,那我就從使用於開發的幾個角度來講聯動菜單的調用:
一、我們常用的是在自定義數據模型欄位中:
創建的聯動菜單項將應用於後台內容(文章)添加界面。在「後台-內容-數據模型-欄位管理-添加欄位」中,欄位類型設置為「聯動菜單」,然後在「菜單id」選項處通過聯動菜單列表選擇你要使用的菜單,例如地區聯動菜單,並可設定聯動菜單的返回值的方式。然後在內容添加編輯界面可出現此聯動菜單項了。
主要設置顏色如下:

編輯界面顯示效果如下:

當然,菜單顯示樣式(下拉式、彈窗式)可在「後台-擴展-聯動菜單-修改」中配置。
二、在phpcms模板中直接調用聯動菜單:
此方法不常用。具體方法是來到「後台-擴展-聯動菜單列表」,你會看到每一個聯動菜單都有一個調用代碼,將此代碼復制粘貼到你想放的模板位置即可。

但根據經驗,這還不夠,因為雖然通過此代碼把聯動菜單掉出來了,但是因為缺乏此菜單顯示時的css、js文件導致缺乏樣式與效果從而顯示不正常,所以需要保證你的模板里同時引入了一下幾個文件:
statics/js/dialog.js
statics/js/linkage/js/pop.js
statics/css/dialog.css
三、在php文件中或者在模板中使用萬能標簽直接讀取聯動菜單數據表中的數據:
此方法往往在我們進行二次開發中使用。聯動菜單數據存放在v9_linkage數據表中,可根據欄位parentid等欄位指定獲取不同層級數據。
因為開發相關會涉及到phpcms的相關類方法或函數相對來說比較復雜,這里就不詳細講解了,具體可參考官方開發手冊以及iphpcms的視頻教程,這里給出演示代碼以作了解:
php程序中調用代碼演示:
$linkage_db = pc_base::load_model("linkage_model"); //引入模型模板中萬能標簽寫法演示:
{pc:get sql="select * from phpcms_linkage where parentid=0 and keyid=1" num="99"}本方法中獲取的是原始的數據表數據,沒有簽名方法中的相關html代碼css樣式等修飾,自己根據需求進行相應處理渲染即可。
PS: 1. 以上方法前兩個偏向於系統應用,後者偏向於開發,希望對你有所幫助吧。如果仍有疑惑可以追問。2.考慮的你說的「聯動菜單」有指「導航條聯動下拉效果」的嫌疑,這里附註一段調用演示代碼:
{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}