杰奇采集分页 php,杰奇自定义分页代码,教程及案例

在杰奇仿站的时候,分页区域的修改是不可避免的问题,但是基本上一开始完全就搞不懂修改分页的位置在哪里,而确实杰奇没有给出自定义的地方,相关的位置也是完全加密的。不过好不容易找到目录再解密之后,试了几下倒也是知道了修改的办法,难度不是很大就看能不能理解。

通常情况下,分页区域的代码是如下这样,感觉非常乱:

文件位置在/lib/html/page.php,这是加密的。

解密工具在这里:点击进入

解密之后,定义样式的关键代码如下:public function pageurl($page)

{

if (strpos($this->linkurl, "pagevar) === false) {

$url = $this->linkurl . $page;

}

else {

$url = str_replace(array("pagevar . "|subdirectory}>", "pagevar . "}>"), array(jieqi_getsubdir($page), $page), $this->linkurl);

}

if ($this->useajax == 1) {

$url = "javascript:Ajax.Update('" . urldecode($url) . "'," . $this->ajax_parm . ");";

}

return $url;

}

public function pagelink($page, $char, $class = "")

{

$link_url = $this->pageurl($page);

if (empty($class)) {

return "" . $char . "";

}

else {

return "" . $char . "";

}

}

public function first_page($link = 1, $char = "")

{

if ($char == "") {

$char = "1";

}

if ($link == 1) {

return $this->pagelink(1, $char, "first");

}

else {

return 1;

}

}

public function total_page($link = 1, $char = "")

{

if ($char == "") {

$char = $this->totalpages;

}

if ($link == 1) {

return $this->pagelink($this->totalpages, $char, "last");

}

else {

return $this->totalpages;

}

}

public function pre_page($char = "")

{

if ($char == "") {

$char = "<";

}

if (1 < $this->current) {

return $this->pagelink($this->current - 1, $char, "prev");

}

else {

return "";

}

}

public function next_page($char = "")

{

if ($char == "") {

$char = ">";

}

if ($this->current < $this->totalpages) {

return $this->pagelink($this->current + 1, $char, "next");

}

else {

return "";

}

}

public function num_bar()

{

$pagelinks = &$this->pagelinks;

$mid = floor($pagelinks / 2);

$last = $pagelinks - 1;

$current = &$this->current;

$totalpage = &$this->totalpages;

$linkurl = &$this->linkurl;

$minpage = (($current - $mid) < 1 ? 1 : $current - $mid);

$maxpage = $minpage + $last;

if ($totalpage < $maxpage) {

$maxpage = &$totalpage;

$minpage = $maxpage - $last;

$minpage = ($minpage < 1 ? 1 : $minpage);

}

$linkbar = "";

for ($i = $minpage; $i <= $maxpage; $i++) {

$char = $i;

if ($i == $current) {

$linkchar = "" . $char . "";

}

else {

$linkchar = $this->pagelink($i, $char);

}

$linkbar .= $linkchar;

}

return $linkbar;

}

public function pre_group($char = "")

{

$current = &$this->current;

$linkurl = &$this->linkurl;

$pagelinks = &$this->pagelinks;

$mid = floor($pagelinks / 2);

$minpage = (($current - $mid) < 1 ? 1 : $current - $mid);

$char = ($char == "" ? "<<" : $char);

$pgpage = ($pagelinks < $minpage ? $minpage - $mid : 1);

return $this->pagelink($pgpage, $char, "pgroup");

}

public function next_group($char = "")

{

$current = &$this->current;

$linkurl = &$this->linkurl;

$totalpage = &$this->totalpages;

$pagelinks = &$this->pagelinks;

$mid = floor($pagelinks / 2);

$last = $pagelinks;

$minpage = (($current - $mid) < 1 ? 1 : $current - $mid);

$maxpage = $minpage + $last;

if ($totalpage < $maxpage) {

$maxpage = &$totalpage;

$minpage = $maxpage - $last;

$minpage = ($minpage < 1 ? 1 : $minpage);

}

$char = ($char == "" ? ">>" : $char);

$ngpage = (($maxpage + $last) < $totalpage ? $maxpage + $mid : $totalpage);

return $this->pagelink($ngpage, $char, "ngroup");

}

public function jump_js()

{

if ($this->useajax == 1) {

$linkurl = urldecode($this->linkurl);

}

else {

$linkurl = $this->linkurl;

}

$pos = strpos($linkurl, "pagevar);

if ($pos === false) {

$urlcode = "'" . $linkurl . "'+this.parentNode.getElementsByTagName('input')[0].value";

}

else {

$urlcode = "'" . $linkurl . "'.replace('pagevar . "|subdirectory}>', '/' + Math.floor(this.parentNode.getElementsByTagName('input')[0].value / 1000)).replace('pagevar . "}>', this.parentNode.getElementsByTagName('input')[0].value)";

}

if ($this->useajax == 1) {

$js = "Ajax.Update(" . $urlcode . "," . $this->ajax_parm . ");";

}

else {

$js = "window.location.href=" . $urlcode . ";";

}

return $js;

}

public function more_js()

{

if ($this->current < $this->totalpages) {

$page = $this->current + 1;

if (strpos($this->linkurl, "pagevar) === false) {

$url = $this->linkurl . $page;

}

else {

$url = str_replace(array("pagevar . "|subdirectory}>", "pagevar . "}>"), array(jieqi_getsubdir($page), $page), $this->linkurl);

}

$js = "Ajax.Request('" . urldecode($url) . "',{onLoading:function(){},onComplete:function(){var c = document.getElementById('" . $this->pagecontents . "') ? document.getElementById('" . $this->pagecontents . "').innerHTML : null; document.getElementsByTagName('body')[0].innerHTML = this.response.match(/

]*>([\s\S]*)/i)[1]; if(typeof c == 'string') document.getElementById('" . $this->pagecontents . "').innerHTML = c + document.getElementById('" . $this->pagecontents . "').innerHTML;}});";

}

else {

$js = "this.parentNode.innerHTML = '';";

}

return $js;

}

这些代码分别定义了分页样式里面全部的标签和class,而且也是可删除的,但是我并不建议删除这些定义,直接修改它设置的标签或者calss即可,但是页面上的实际显示是由以下的代码定义。switch ($this->pagestyle) {

case 3:

$html_template = "

";

break;

case 2:

$html_template = "

{?\$jieqi_page_previouslang?} pagevar . "\" type=\"text\" size=\"3\" value=\"{?\$jieqi_page_current?}\" οnkeydοwn=\"if(event.keyCode==13){{?\$jieqi_page_jumpjs?} return false;}\" οnfοcus=\"if(this.value==this.getAttribute('dftval'))this.value='';\" οnblur=\"if(this.value=='')this.value=this.getAttribute('dftval');\" dftval=\"{?\$jieqi_page_current?}\" />/{?\$jieqi_page_totalpages?}{?\$jieqi_page_submitlang?} {?\$jieqi_page_nextlang?}
";

break;

case 1:

default:

$html_template = "

{?\$jieqi_page_firsthtm?}{?\$jieqi_page_gprevioushtm?}{?\$jieqi_page_previoushtm?}{?\$jieqi_page_numshtm?}{?\$jieqi_page_nexthtm?}{?\$jieqi_page_gnexthtm?}{?\$jieqi_page_lasthtm?} pagevar . "\" type=\"text\" size=\"3\" οnkeydοwn=\"if(event.keyCode==13){{?\$jieqi_page_jumpjs?} return false;}\" title=\"{?\$jieqi_page_titlelang?}\" />
";

break;

}

这里的代码就相当明显了,删除相应的地方,页面上就不会显示,或者也可以修改整个区块css。

比如我之前的分页显示是这样:

230a4461f6ed7191051525e4757713ac.png

我修改了标签和class,自定义样式之后,是这样:

a6429f0fe4b3b434dc2b4f150aa68027.png

杰奇每个版本的这个文件都有所不同,而且1.7的话我的解密工具用不了,但是网上有开源版,找到这个文件覆盖就好了。

规则之树版权所有,转载注明来源

打赏

f9dedae40642caf3cbefafd34bdd2e76.png支付宝支付

您的大名:

1 元

5 元

10 元

20 元

50 元

100 元

万水千山总是情,给个打赏行不行。

打赏

23343b78e9b269ca24c62490ceade6ea.png

原创文章,作者:不暇,如若转载,请注明出处:https://www.ruletree.club/archives/359/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值