重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个可以这样实现!模板当中专门制作一个关于公司介绍的模板,给予公司介绍这个栏目使用这个模板就行!
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了永清免费建站欢迎大家使用!
1、首先来说一下我们要实现的效果,就是我们选择1级菜单后,2级菜单里就有对应1级菜单的内容,我们选择2级菜单的项的时候,3级菜单会产生对应2级菜单项的内容,以此类推,来说一下我实现这种功能的原理,就是为不同的列的内容设置了名称,而这个名称恰好就是上一级菜单里的选择项。这样的情况下,在数据有效性中的函数读取的其实是引用这个名词所对应的区域内的内容,也就把我们下一级的菜单内容读取出来了。
2、接下来,我们来准备数据,根据第一步所描述的原理,我将列名进行了颜色处理,以方便大家去理解。
3、从1级项到3级项,高级别项是下一级的列名,这就是我们的数据源的格式,如果有的网友问,不加这些列名可以吗?回答是:可以的,不加列名的话,你需要知道每列对应的上一级的内容,加上只是方便查看。
4、接下来的一步是Office2003同2003以上版本不同的地方,创建名称,2003需要逐一创建,而像2013可以全选以后,系统会根据选择区域自行创建,不过逐一创建也有好处,就是我们不会出现部分值出现2次的现象。接下来,我们就逐一进行创建,首先创建“百度”的2级项内容。选中数据区域。
5、点击Ctrl+F3,或者从菜单栏中选择“插入”--“名称”--“定义”。
6、需要注意的是,系统会默认所选区域的首单元格内容为当前工作薄名称,我们需要改为上一级的名称。 这里,它的上一级是“百度”。
点击“添加”,这样一个工作薄的名称就添加完成了,剩下的同理。
全部添加完成后,我们就完成了对所需要的数据区域的命名工作。
接下来,我们准备表格,我们需要将数据在表格中进行多级关联以实现我们想要的效果。
我们选择机构名称,然后在菜单栏中选择“数据”--“有效性”。
有效性条件选择“序列”,来源直接选择机构名称下的内容项。
确定之后,我们会发现,机构名称下就会有内容项了,当然了,这一步可能很多人都已经知道了,我就不过多解释了。
接下来,我们来关联2级的内容,同样在菜单栏中选择“数据”--“有效性”,有效性条件选择“序列”,但来源中,我们需要用到INDIRECT(目标单元格),然后点击确定。
这样,我们就会发现,2级菜单的关联已经有了,而且不会出现重复的1级菜单项。
接下来我们关联3级菜单,同关联2级菜单一致,在来源中,我们需要用到INDIRECT($F14)。
这样,我们3级菜单也就关联完成了,包括4级,5级甚至更多,都可以这样来实现。
在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"); //引入模型
$data = $linkage_db-select(array('parentid'=0)); //读取指定条件的数据
模板中万能标签写法演示:
{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.考虑的你说的“联动菜单”有指“导航条联动下拉效果”的嫌疑,这里附注一段调用演示代码:
{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}
lidiva href="{siteurl($siteid)}/"span网站首页/span/a/div/li
{loop $data $k $v}
lidiv
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} lia href="{$r[url]}"{$r[catname]}/a/li {/loop}
{/pc}
/ul/div/li
{/loop}
{/pc}
标签调用:
页面模板内容:
lia href="[!--bclassurl--]" target="_blank" title="[!--bclassname--]"[!--bclassname--]/a
ul
[!--empirenews.listtemp--]
!--list.var1--
[!--empirenews.listtemp--]
/ul
/li
列表内容模板:
lia href="[!--classurl--]" target="_blank" title="[!--classname--]"[!--classname--]/a/li