估计是你升级不完整造成的,
处理方法:手动去下载官方1.5.2版本,覆盖下application目录下除了database.php文件外全部覆盖下即可。
如果有二开过 要自己手动对比。
第一 先检查
文件里面的
public function readContentFirst($typeid)
{
$result = false;
while (true)
{
$singleModel = new apphomemodelSingle();
$result = $singleModel->getInfoByTypeid($typeid);
if (empty($result['content']) && preg_match('/^lists_single(_(.*))?.htm$/i', $result['templist'])) {
$map = array(
'parent_id' => $result['typeid'],
'current_channel' => 6,
'is_hidden' => 0,
'status' => 1,
'is_del' => 0,
);
$row = thinkDb::name('arctype')->where($map)->field('*')->order('sort_order asc')->find(); // 查找下一级的单页模型栏目
if (empty($row)) { // 不存在并返回当前栏目信息
break;
} elseif (6 == $row['current_channel']) { // 存在且是单页模型,则进行继续往下查找,直到有内容为止
$typeid = $row['id'];
}
} else {
break;
}
}
return $result;
}
}
是否存在 (可以直接官方覆盖下此文件)
没有就加上去或者覆盖。
在排查:
此文件 private function logic($tid = '') 里面的
switch ($this->channel) {
case '6': // 单页模型
{
$arctype_info = model('Arctype')->getInfo($tid);
if ($arctype_info) {
// 读取当前栏目的内容,否则读取每一级第一个子栏目的内容,直到有内容或者最后一级栏目为止。
$archivesModel = new apphomemodelArchives();
$result_new = $archivesModel->readContentFirst($tid);
下面一行。
主要看这里有没有上段调用代码,最直接的就是官方覆盖下即可 简单