首页 >后端开发 >php教程 >phpcms可以使用2个不同的分页样式吗

phpcms可以使用2个不同的分页样式吗

WBOY
WBOY原创
2016-06-23 13:26:51795浏览

phpcms可以使用2个不同的分页样式吗?
我按照网上的方法 
打开
phpcms/libs/classes/template_cache.class.php,找到207行的
$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);';
在这行的下面加上
$str .= '$wz_pages = wz_pages($'.$op.'_total, $page, $pagesize, $urlrule);';
保存。

然后修改了自定义的方法

function zbpages($num, $curr_page, $perpage = 3, $urlrule = '', $array = array(),$setpages = 10) {	if(defined('URLRULE') && $urlrule == '') {		$urlrule = URLRULE;		$array = $GLOBALS['URL_ARRAY'];	} elseif($urlrule == '') {		$urlrule = url_par('page={$page}');	}	$multipage = '';	if($num > $perpage) {		$page = $setpages+1;		$offset = ceil($setpages/2-1);		$pages = ceil($num / $perpage);		if (defined('IN_ADMIN') && !defined('PAGES')) define('PAGES', $pages);		$from = $curr_page - $offset;		$to = $curr_page + $offset;		$more = 0;		if($page >= $pages) {			$from = 2;			$to = $pages-1;		} else {			if($from <= 1) {				$to = $page-1;				$from = 2;			}  elseif($to >= $pages) {				$from = $pages-($page-2);				$to = $pages-1;			}			$more = 1;		}		if($curr_page>0) {			$multipage =$pages.'</span><ul><li> <a href="'.pageurl($urlrule, $curr_page-1, $array).'" class="a1"><</a></li>';		}		$multipage = '<div class="pages right"><span><b>'.$curr_page.'</b>/'.$multipage ;		if($curr_page<$pages) {				$multipage .= ' <li><a href="'.pageurl($urlrule, $curr_page+1, $array).'" class="a1">></a></li></ul></div>';		} elseif($curr_page==$pages) {				$multipage .= ' <li><a class="a1">></a></li></ul></div>';		} else {			$multipage .= ' <li><a href="'.pageurl($urlrule, $curr_page+1, $array).'" class="a1">></a></li></ul></div>';		}	}	echo  $multipage;}


可以修改成功了,但是我想要调用默认的样式的话,总会把修改后的样式再输出一次,麻烦高手帮忙看下!


回复讨论(解决方案)

没人么.求帮忙~

我没用过 phpcms,只能做些推断
根据你的描述:
$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);'; //这是原来的
$str .= '$wz_pages = wz_pages($'.$op.'_total, $page, $pagesize, $urlrule);'; //这是为自定义样式增加的
显然在使用默认样式的时候,后一句是不需要有的。应注释掉

你找到的这个方法明显是不合理的,phpcms 作为成品的系统,应该有动态设置样式的地方,只是你没找到

我没用过 phpcms,只能做些推断
根据你的描述:
$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);'; //这是原来的
$str .= '$wz_pages = wz_pages($'.$op.'_total, $page, $pagesize, $urlrule);'; //这是为自定义样式增加的
显然在使用默认样式的时候,后一句是不需要有的。应注释掉

你找到的这个方法明显是不合理的,phpcms 作为成品的系统,应该有动态设置样式的地方,只是你没找到

\
恩,感谢,~ 是否对原来的代码或者默认样式有影响. 我主要是想知道这个.

我感觉 他只是多解析了 一个 $WZ_pages  , 不会对 $pages 有影响,
不过不知道为什么调用$pages 会多调用一次修改后的样式.感谢赐教~

找到原因了.... echo  和return 的事... 程序调用的时候,会输出..

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn