问:我刚用织梦做个企业站,栏目页下面明明有80篇文章,我后台设置每页显示10条,分页却只出现5页,剩下30篇文章“凭空消失”了,这是咋回事?
织梦CMS栏目页分页数量闹脾气?别慌,这份避坑指南请收好
答: 兄弟,你遇到的不是“灵异事件”,而是织梦最经典的“伪静态分页错乱”问题,八成是你启用了栏目页的伪静态(或动态页),但系统默认的分页参数(比如PageNo)和你的服务器Rewrite规则没对上眼,去后台“系统 - 核心设置 - 性能选项”里,把“栏目页列表风格”改成“动态页”试试,如果恢复正常,那就是伪静态规则写错了,简单粗暴的办法:把栏目页的URL改成/list.php?tid=栏目ID这种动态形式,分页绝对老实。
问:我按教程在“核心 - 栏目管理”里新建了一个“产品中心”栏目,但首页死活不显示这个栏目的文章列表,怎么调用?
答: 别急着改模板,首页默认只调用“栏目属性”里设置了“允许出现在首页”的栏目,你去“栏目管理”找到“产品中心”,点“修改”,把“栏目属性”里的“首页”和“列表”复选框都勾上,如果还是不行,那就是模板里的{dede:list}或{dede:arclist}标签的typeid没写对,比如你首页想只显示“产品中心”的文章,模板里就得写{dede:arclist typeid='你的栏目ID' row='10'}。ID是数字,不是栏目名称。
问:我换了套免费模板,结果首页能显示,但内页和文章页全是乱的,图片也裂了,后台改啥都没用。
答: 你八成是直接覆盖了templets文件夹,但忘了模板里的CSS、JS路径是绝对路径还是相对路径,织梦默认模板用/templets/你的模板名/style/这种路径,如果你新模板里写的是style/css.css这种相对路径,而模板名又变了,就会全乱,去后台“系统 - 模板管理”里,把你当前使用的模板目录名记下来,然后去templets文件夹里核对一下,确保文件名和模板名完全一致,再清一下浏览器缓存,要是还乱,直接用FTP把模板里的style.css文件路径改成网站根目录的绝对路径,比如/templets/mytheme/style/style.css。
问:我想让首页某个位置显示指定的最新3篇文章,但{dede:arclist}标签总是把最新发布的全调出来,怎么精确指定?
答: 用{dede:arclist}的aid属性(文章ID)或者limit属性,比如你只想放ID为5、8、12这三篇文章,就写{dede:arclist aid='5,8,12' row='3'},注意,aid和row同时用的时候,row会被忽略,所以必须把row删掉,如果你想按“推荐”或“置顶”来选,那就是加flag='c'(推荐)或flag='h'(头条)。在首页调指定文章,用aid最直接,千万别用typeid+limit,那是按栏目顺序取的。
问:我的栏目页分页第2页、第3页打开都是404,但第1页正常,这到底卡在哪了?
答: 这又是分页的经典坑,你八成是开启了“栏目页静态化”,但后台的“栏目页生成静态”没设置好,去“核心 - 批量维护 - 更新栏目页”里,把分页大小改成“1页”(即每栏生成一个分页),保存后再生成,或者干脆关闭静态化,改用动态伪静态,如果是Apache服务器,检查.htaccess文件里有没有RewriteRule ^list-([0-9]+)\.html$ /plus/list.php?tid=$1这条规则;如果是Nginx,那得改rewrite配置,新手最稳的办法:去后台把“模板默认动态页”打开,分页就不会404了。
问:我想给文章页加个“上一篇/下一篇”导航,后台自带的那个有BUG,点击“上一篇”跳到了别的栏目的文章,怎么改?
答: 这属于织梦的老毛病,后台自带的{dede:prenext}标签会跨栏目取文章,去模板里找到这个标签,换成自己写的SQL调用,用“自定义标记”或者直接在模板里写{dede:arclist typeid='当前栏目ID' row='1' orderby='senddate'}配合aid做条件判断,新手最简单的做法:只保留“下一篇”,把pre那个标签删掉,因为“下一篇”通常不会跨栏目,如果非要“上一篇”,就改/include/arc.archives.class.php文件,把查询条件加上WHERE typeid='当前栏目',但改完记得备份。
问:后台“会员功能”我开启了,但用户注册后登录不进后台,前台登录也报错“用户不存在”,咋整?
答: 你八成是没设置“会员类型”,去“会员 - 会员设置”里,把“注册模式”改成“开放注册”,然后在“会员级别”里新建一个“普通会员”,并设置“会员权限”,还有,前台登录和后台登录是分开的,前台登录用的是/member/index.php,后台是/admin,如果前台报错,检查data目录下common.inc.php里的cfg_md5和cfg_userlogin配置是否一致,要是懒得排查,直接去数据库dede_member表,把你测试账号的mtype字段改成1(管理员)再试。
问:广告位管理里我添加了一个“首页轮播图”,但模板上没显示,后台看代码是对的。
答: 广告位需要手动调用到模板,你只加了广告位,但模板里的HTML那儿没写{dede:myad name='广告位名称'},去你的首页模板,在需要显示轮播图的地方写上这个标签,名称必须和你后台添加时填的标识完全一样,广告位默认是不支持PHP代码的,只能放静态图片或链接,如果你传了JS弹窗或动态数据,那不会输出,还有,检查一下广告位状态是不是“启用”了,别给它设了“到期时间”结果过期了。
问:我更新了文章,但首页和列表页死活不刷新,缓存清了几百次都没用。
答: 这已经不是缓存问题了,是生成静态页的锅,织梦如果开启了“生成静态模式”,你更新文章后必须去“核心 - 批量维护 - 更新首页”和“更新栏目页”重新生成HTML文件,要不就直接把静态缓存关掉:后台“系统 - 核心设置 - 性能选项”里,把“模板缓存”改成“不缓存”,并且把“生成静态”改成“动态页”,这样每次访问都是实时读取数据库,虽然慢一点,但绝对同步,新手强烈建议先关掉静态,等网站做完了再开,不然每次改模板都要生成半天。
问:最后问个小白问题——我的织梦后台登录不了,密码忘了,有啥办法快速重置?
答: 别急,去数据库用phpMyAdmin,找到dede_admin表,把pwd字段改成e10adc3949ba59abbe56e057f20f883e(这是123456加密后的值),再把id字段改成1(或你的管理员ID),然后登录后台用admin/123456,要是连admin这个用户名都忘了,去表里看看usertype为1的记录,把userid改成admin,改完立刻去后台改密码,这招对新手百试百灵,但别在公共电脑上演示。



发表评论