关于pages列表页不显示和无权限的问题
2016-03-04 16:39:56
刘峰
  • 访问次数: 63
  • 注册日期: 2015-04-21
  • 最后登录: 2019-01-02

1.不显示 只需要 修改一处即可

/system/module/page/control.php 的index方法

$pages = $this->loadModel('article')->getList('page', 0, $orderBy = null);

改为

$pages = $this->loadModel('article')->getList('page', 0, $orderBy = 'editedDate');  即可 不显示是因为sql错误,orderby为空


2. 权限问题出在这里

/system/module/common/model.php的 if(!commonModel::hasPriv($module, $method)) $this->deny($module, $method);

进入 hasPriv()方法 发现是这一句在搞怪 if(!commonModel::isAvailable($module)) return false;

进入isAvailable()方法后发现问题出来依赖模块上代码如下

/* Check whether dependence modules is available. */
if(!empty($config->dependence->$module) )
{

var_dump($config->dependence->$module); // $module is page   dump is contribution
foreach($config->dependence->$module as $dependModule)
{

var_dump($config->site->modules);//dump is article,product,message,search,stat
if(!sset($config->site->modules) or strpos($config->site->modules, $dependModule) === false) return false;
}
}

这里的判断 strpos($config->site->modules, $dependModule) === false   在module 为page时 恒为true 所以 返回错误 就到值deny()方法被执行了。

我的处理方法噶、

这里我稍微变动了下  将 if(!sset($config->site->modules) or strpos($config->site->modules, $dependModule) === false) return false 改为

if(!sset($config->site->modules) and strpos($config->site->modules, $dependModule) === false) return false;  改动为 or >>> and

这个时候page页面正常显示 (url:  http://your domainname/page/)


贴出来希望 蝉知的开发人员看看是否会出现其他问题


本修改基于蝉知 5.1 官方 zip包,未做任何改动


刘峰 最后编辑, 2016-03-04 16:41:00
沙发
2016-03-04 17:33:11
wechat_5bfe70e419673

var_dump($config->site->modules);//dump is article,product,message,search,stat

这个输出结果不对,应该有page的看看有没有分类的别名设置成page了
我们也再检查下代码。



板凳
2016-03-04 23:20:58
刘峰
  • 访问次数: 63
  • 注册日期: 2015-04-21
  • 最后登录: 2019-01-02

这个输出是在系统后台/admin.php?m=site&f=setbasic 进行设置的 所以可能与默认值不同

我办公室机器的数据与家里电脑数据没有同步,所以无法给你截图我办公室的配置

但是基本上是确定通过这里进行设置的

1/1
联系我们

联系人:ZSITE交流群

电话/微信:

Email:

QQ:

地址:青岛市黄岛区井冈山路157号中南金石国际广场A座3205室