如何在DedeCMS留言板中有效调用导航菜单?
- 行业动态
- 2024-10-08
- 1
在DedeCMS中,要调用留言板的导航,你可以使用以下代码:,,“ php,{dede:sql sql='SELECT * FROM #@__archives WHERE channel = "留言板"'},[field:title/],{/dede:sql},` ,,这段代码将查询数据库中的#@__archives`表,筛选出频道为”留言板”的记录,并生成相应的链接和标题。你可以根据需要修改代码中的表名、字段名和条件来适应你的实际情况。
在DEDECMS中,留言板(guestbook.htm)通常使用{dede:include filename="../default/head.htm"/}来调用导航头部文件,这种方式无法自动生成导航列表,因此不能直接使用默认的头部文件,为了解决这一问题,可以按照以下步骤操作:
1、创建或打开函数文件:找到并打开/include/common.func.php文件,该文件在DEDECMS 5.6版本中默认存在,而在5.5版本中不存在,需要手动创建。
2、添加自定义函数:在common.func.php文件中,添加以下自定义函数代码:
function pasterTempletDiy($path) { require_once(DEDEINC."/arc.partview.class.php"); global $cfg_basedir,$cfg_templets_dir; $tmpfile = $cfg_basedir.$cfg_templets_dir."/".$path; //模版文件的路径 $dtp = new PartView(); $dtp>SetTemplet($tmpfile); $dtp>Display(); }
3、修改留言板模板文件:打开留言板的模板文件,默认路径为/templets/plus/guestbook.htm,用以下代码替换原来的调用头部代码:
<?php pasterTempletDiy("default/head.htm"); ?>
4、保存并刷新页面:保存对模板文件的修改,然后刷新前台页面,留言板应该已经成功调用了导航。
FAQs
1、Q:为什么使用{dede:include filename="../default/head.htm"/} 无法生成导航列表?
A:这是因为DEDECMS留言板模板文件(guestbook.htm)无法直接使用默认头部文件来自动生成导航列表,需要通过自定义函数来实现这一功能。
2、Q:如何确保自定义函数pasterTempletDiy 正常工作?
A:确保/include/common.func.php文件存在(5.5版本需手动创建),检查函数代码是否正确无误,并确保模板文件路径正确,刷新前台页面查看效果。
3、Q:如果修改后导航仍未显示,该如何排查问题?
A:首先检查common.func.php文件中的函数是否已正确添加,确认模板文件路径和函数调用代码无误,查看是否有其他代码冲突或错误导致导航未能正常显示。
序号 | 参数名 | 说明 | 示例代码 |
1 | menutype | 选择导航菜单的类型,如文章、图片、单页等 | menutype=1 (表示文章) |
2 | showchannel | 是否显示频道导航,值为0或1,0表示不显示,1表示显示 | showchannel=1 |
3 | classid | 当前文章或栏目的ID,当menutype为1或5时需要此参数 | classid=1 (假设当前文章或栏目ID为1) |
4 | linktype | 链接类型,0为直接链接,1为相对链接 | linktype=1 (表示相对链接) |
5 | addslashes | 是否转义输出,值为0或1,0表示不转义,1表示转义 | addslashes=1 |
6 | cs | 当前栏目的ID,当menutype为1或5时需要此参数 | cs=1 (假设当前栏目ID为1) |
7 | num | 获取的导航数量,默认为10,最大为50 | num=10 |
8 | return | 输出格式,值为0或1,0表示以HTML归纳形式输出,1表示以JSON格式输出 | return=1 (表示以JSON格式输出) |
9 | titlelen | 标题长度,默认为30,当titlelen为0时表示不限制标题长度 | titlelen=30 |
10 | flag | 标志位,用于筛选导航,可以设置多个标志位,用逗号分隔 | flag=1,2 (表示筛选标志位为1和2的导航) |
11 | cnum | 获取子级导航的数量,默认为0,最大为10 | cnum=5 (表示获取5个子级导航) |
12 | firstrow | 获取导航的第一行,值为0或1,0表示不获取,1表示获取 | firstrow=1 |
13 | getfirstrow | 是否获取第一行导航,值为0或1,0表示不获取,1表示获取 | getfirstrow=1 |
14 | child | 是否获取子级导航,值为0或1,0表示不获取,1表示获取 | child=1 |
15 | arr | 用于获取子级导航的数组,当child为1时需要此参数 | arr=1 (表示获取子级导航的数组) |
16 | parentid | 父级导航的ID,用于获取子级导航,当child为1时需要此参数 | parentid=1 (假设父级导航ID为1) |
17 | orderby | 排序方式,可以设置为id、title、weight等 | orderby=title |
18 | orderway | 排序方向,可以设置为desc(降序)或asc(升序) | orderway=desc |
19 | ishtml | 是否生成HTML标签,值为0或1,0表示不生成,1表示生成 | ishtml=1 |
20 | typeid | 文章类型ID,当menutype为1或5时需要此参数 | typeid=1 (假设文章类型ID为1) |
21 | t Peyl | 标题后缀,可以用于添加自定义后缀 | t Peyl=_(栏目名称) |
22 | addslashes | 是否转义输出,值为0或1,0表示不转义,1表示转义 | addslashes=1 |
23 | linktype | 链接类型,0为直接链接,1为相对链接 | linktype=1 (表示相对链接) |
24 | showmoresite | 是否显示更多站点导航,值为0或1,0表示不显示,1表示显示 | showmoresite=1 |
25 | morenum | 更多站点导航的数量,默认为10,最大为50 | morenum=10 |
26 | moretitlelen | 更多站点导航标题长度,默认为30,当moretitlelen为0时表示不限制标题长度 | moretitlelen=30 |
27 | moresiteflag | 更多站点导航的标志位,可以设置多个标志位,用逗号分隔 | moresiteflag=1,2 |
28 | moremenutype | 更多站点导航的菜单类型,可以设置为0、1、2、3、4、5等 | moremenutype=1 |
29 | morelinktype | 更多站点导航的链接类型,0为直接链接,1为相对链接 | morelinktype=1 |
30 | moreclassid | 更多站点导航的栏目ID,当menutype为1或5时需要此参数 | moreclassid=1 |
31 | moretypeid | 更多站点导航的文章类型ID,当menutype为1或5时需要此参数 | moretypeid=1 |
32 | moreshowmoresite | 是否显示更多站点导航,值为0或1,0表示不显示,1表示显示 | moreshowmoresite=1 |
33 | morenum | 更多站点导航的数量,默认为10,最大为50 | morenum=10 |
34 | moretitlelen | 更多站点导航标题长度,默认为30,当moretitlelen为0时表示不限制标题长度 | moretitlelen=30 |
35 | moresiteflag | 更多站点导航的标志位,可以设置多个标志位,用逗号分隔 | moresiteflag=1,2 |
36 | moremenutype | 更多站点导航的菜单类型,可以设置为0、1、2、3、4、5等 | moremenutype=1 |
37 | morelinktype | 更多站点导航的链接类型,0为直接链接,1为相对链接 | morelinktype=1 |
38 | moreclassid | 更多站点导航的栏目ID,当menutype为1或5时需要此参数 | moreclassid=1 |
39 | moretypeid | 更多站点导航的文章类型ID,当menutype为1或5时需要此参数 | moretypeid=1 |
40 | moreshowmoresite | 是否显示更多站点导航,值为0或1,0表示不显示,1表示显示 | moreshowmoresite=1 |
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/118900.html