织梦cms(dede)标签使用及问题解决方法总结longyamiao 以前使用过织梦cms(dede)进行网站建设,最近又一次做网站,在制作过程中遇到一些问题,现将标签使用解决方法总结一下。
一、dede 我的文档及收藏方面处理方法——longyamiao问题一:我的文档里有已通过、待审核、未通过三种情况。
而在点击时不是以滑动门的方式显示,而是重新加载网页。
无法达到更改已通过、待审核、未通过三处样式的目的。
问题二:当点击我的文档打开网页时,网页显示的是我所有文档,当点击已通过时,网页显示的是我的已通过审核的文档,当点击下一页查看时发现未通过的文章显示出来了。
解决:(一)点击时每次重新加载,解决方法是,一个模板复制三次,分别命名。
在模板里改变点击已通过待审核未通过的地址。
PHP 和HTM 模板分别是Default/member/myupload.phpDefault/member/templets/myupload.htm 更改PHP里打开模板的链接更改HTM模板里打开PHP的链接。
(二)在myupload.php里用$arcrank表示已通过待审核未通过分别值为1 -1 -2。
点击下一页出现故障的原因是,在分页时,分页链接查询数据库没有加入arcrank参数的限制条件。
分页样式及代码在Default/include/datalistcp.class.php中分布链接地址为$purl .= "?".$geturl; 在这里如果直接添加arcrank 变成$purl .= "?arcrank=1&".$geturl; 在已通过页面里能看到是正常的,但由于是常量,不能变化,在待审核和未通过里则显示错误,同时在我的收藏里也显示错误。
所以没有考虑像第一步那样复制成多份模板,而是想办法传递参数。
可我看代码myupload.php 没有给datalistcp.class.php传递参数。
在页面上,分页的html代码中有链接如下:<ahref="/member/myupload.php?dopost=listArchives&keyw ord=&cid=0&channelid=17&totalresult=43&pageno=2">2< /a><ahref="/member/myupload.php?dopost=listArchives&keyw ord=&cid=0&channelid=17&totalresult=43&pageno=3">3< /a><ahref="/member/myupload.php?dopost=listArchives&keyword=&cid=0&channelid=17&totalresult=43&pageno=2">下页</a><ahref="/member/myupload.php?dopost=listArchives&keyw ord=&cid=0&channelid=17&totalresult=43&pageno=3">末页</a>在datalistcp.class.php内能找到同格式代码<a class='nextPage' href='".$purl."pageno=$nextpagenum'>$lang_next_page </a>在增减字符在网页看地址的方法测试下,确定这句代码正是分页用的链接代码。
但$purl .= "?arcrank=1&".$geturl;,而在datalistcp.class.php中,找不到dopost、keyword等参数,那这些字符是如何的传递的?回到myupload.php 继续寻找,在文件最后发现$dlist->SetParameter("dopost","listArchives");$dlist->SetParameter("keyword",$keyword);$dlist->SetParameter("cid",$cid);$dlist->SetParameter("channelid",$channelid);正是传递的参数,于是添加一句$dlist->SetParameter("arcrank",$arcrank); 大功告成。
在datalistcp.class.php里$purl = $this->GetCurUrl(); 函数GetCurUrl()为获得当前网址函数,内用到$_SERVER["REQUEST_URI"]函数。
$_SERVER[]为服务器提供的函数,控制访问页面时请求的方法。
可以百度一下。
二、php动态页面浏览时,页面内容不居中,顶端有空行的问题解决方法。
(一)要想让dede在php动态页面浏览时,页面内容居中,要给body,一个text-align:center;的属性。
之后再给body下最外层的div一个text-align:left的属性。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml" xml:lang="zh" lang="zh" dir="ltr"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>{dede:global.cfg_indexname/}</title><link rel="shortcut icon" href="favicon.ico" /><meta name="keywords" content="{dede:global.cfg_keywords/}" /><meta name="description" content="{dede:global.cfg_description/}" /><meta http-equiv="x-ua-compatible" content="ie=7" /><meta http-equiv="Content-Language" content="zh-cn" /><link type="text/css" rel="stylesheet" href="{dede:global.cfg_templets_skin/}/style/longya.css" /> <scriptsrc="{dede:global.cfg_templets_skin/}/js/jquery.nivo.slider.min.js" type="text/javascript"></script><style type="text/css">body {text-align:center;background:url({dede:global.cfg_templets_skin/}/images/bg1.jpg) repeat;}alignleft {text-align:left;}</style></head><BODY><div class="box alignleft "></div></body></html>(二)dede在PHP动态网页浏览时,最上方出现空行的问题解决。
用火狐浏览器查看网页HTML代码,在空行位置有一个乱码。
方法:在排除margin,padding,br等问题之后,还没有解决,最后解决方法是:如果网站是UTF-8格式的网站。
在做模板时,模板用UltraEdit保存格式为“UTF-8 - 无BOM”格式。
三、dede内容页限制文章标题字数{dede:field.title function = '(strlen("@me")>60?cn_substr("@me",60)."***":"@me")'/}用上面的标签代替{dede:field.title/}标签原理是在{dede:field.title/}标签内加了一个判断函数。
四、dede 点击量变化添加脚本相让内容页点击量随着网页点击次数进行改变。
解决:<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" type='text/javascript'language="javascript"></script>把这段代码添加到内容页任意位置就行。
五、dede用户无法登陆再确认用户名密码等正确且会员登陆功能已开启,还是不能登陆。