在使用TP的数据分页时,设置setConfig('last','尾页')无效,尾页显示的最后一页的页码;而其他设置有效。
【Bug剖析】
在分页类里有一个共有属性:
public $lastSuffix = true; // 最后一页是否显示总页数 在show方法的实现中:$this->lastSuffix && $this->config['last'] = $this->totalPages; 所以如果$lastSuffix = true的话,setConfig('last','尾页')的设置会被重置。【Bug鉴定】
要想解决这个问题需在调用setConfig('last','尾页');之前设置$Page->lastSuffix = false;这也许是TP框架希望我们这样做的。但这并不合理,因为我们在调用setConfig('last','尾页')的时候已经表达了我们不会使用总页数作为尾页,而是希望使用自己设置的参数,TP应该聪明的察觉到开发人员的意愿。
【Bug解决】
一种比较果断的解决方式是直接删除$lastSuffix这个属性(当然也要删除show方法中相应的代码),因为它完全是多余的。
较为保守而且聪明的做法是修改setConfig()方法:
修改前:
public function setConfig($name,$value) {
if(isset($this->config[$name])) {
$this->config[$name] = $value;
}
}
修改后: public function setConfig($name,$value) {
if(isset($this->config[$name])) {
$this->config[$name] = $value;
if($name == 'last'){
$this->lastSuffix = false;
}
}
}
【效果演示】
最佳答案