Home >Backend Development >PHP Tutorial >phpcms可以使用2个不同的分页样式吗

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

WBOY
WBOYOriginal
2016-06-23 13:26:51794browse

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 的事... 程序调用的时候,会输出..

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn