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程序中调用代码演示:

1
2

$linkage_db = pc_base::load_model("linkage_model"); //引入模型
$data = $linkage_db->select(array('parentid'=>0)); //读取指定条件的数据

  模板中万能标签写法演示:

1
2
3
4
5

{pc:get sql="select * from phpcms_linkage where parentid=0 and keyid=1" num="99"}
{loop $data $v}
<li>省份:{$v[name]}</li>
{/loop}
{/pc}

  本方法中获取的是原始的数据表数据,没有签名方法中的相关html代码css样式等修饰,自己根据需求进行相应处理渲染即可。

  PS: 1. 以上方法前两个偏向于系统应用,后者偏向于开发,希望对你有所帮助吧。如果仍有疑惑可以追问。2.考虑的你说的“联动菜单”有指“导航条联动下拉效果”的嫌疑,这里附注一段调用演示代码:

1
2
3
4
5
6
7
8
9
10
11
12

{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}
<li><div><a href="{siteurl($siteid)}/"><span>网站首页</span></a></div></li>
{loop $data $k $v}
<li><div>
<a href="{$v[url]}"><span>{$v[catname]}</span></a>
<ul class="sub_mune_ul" style="display: none; ">
{pc:content action="category" catid="$k" num="10" siteid="$siteid" order="listorder ASC"}
{loop $data $r} <li><a href="{$r[url]}">{$r[catname]}</a></li> {/loop}
{/pc}
</ul></div></li>
{/loop}
{/pc}
温馨提示:答案为网友推荐,仅供参考
相似回答