因为在phpcms代码处理上,它的步骤是
先处理完所有的东西再改变文章的审核状态,按平常的处理应该是先更新状态再操作然后,除非需要有先决条件,否则就应该先更新.
也因为如此,
在代码过程中生成静态页,如果静态页中使用到其它模型,将会导致审核状态更新的表因为在模板中改变成某表而导致更新失败.
因为当然待审核文章是不属于某其它表的,
第二点后改变审核状态也会导致在先处理生成文章上出现误判,如果模板文件中处理逻辑基于审核状态做处理时,那么生成时它是未审核,本来理应它是审核过了的,但是因为状态更新代码放到生成之后,导致误判.
简单的解决模板改变表的问题,
因为没细看代码,不知道能否直接把更新状态挪动到生成之前.
if(isset($_GET['ajax_preview'])) {
$_POST['ids'] = $_GET['id'];
}
$this->db->set_model($modelid);//by qidizi, bug,如果模板中使用到其它表(将改变表名),将会导致这里的操作表对象变成模板中的,需要还原防止 ,这里还会有问题,如果模板基于审核状态,将会导致误判,未解决
$this->db->status($_POST['ids'],$status);
}
showmessage(L('operation_success'),HTTP_REFERER);
}
/**
* 排序
*/
public function listorder() {