SP框架限制分页数字长度
在入口文件调用
require(SP_PATH . "/SpeedPHP.php");
require(APP_PATH . '/include/functions.php');
spRun();
functions.php
[php]
spAddViewFunction('pager', '__template_pager');
function __template_pager($params) {
if (!isset($params['pager']) || emptyempty($params['pager']))
return '';
$args = array();
foreach ($params as $k => $v)
if (!in_array($k, array('c', 'a', 'pager', 'myclass', 'mypage', 'offset')))
$args[$k] = $v;
$pagerhandle = isset($params['pager']['mypage']) ? $params['pager']['mypage'] : 'page';
$html = "
if ($params['pager']['current_page'] != $params['pager']['first_page']) {
$url = spUrl($params['c'], $params['a'], $args + array($pagerhandle => $params['pager']['prev_page']));
$html .= "";
} else {
$html .= "";
}
$offset = $params['offset'] ? $params['offset'] : 200; // 可以在内用offset=x来调整
foreach ($params['pager']['all_pages'] as $page) {
if ($page == $params['pager']['current_page']) {
$html .= "{$page}";
} else {
if (($params['pager']['current_page'] ($params['pager']['current_page'] > $params['pager']['last_page'] - $offset && $page > $params['pager']['last_page'] - $offset ) ||
( $page $params['pager']['current_page'] - $offset )
) {
$url = spUrl($params['c'], $params['a'], $args + array($pagerhandle => $page));
$html .= "{$page}";
}
}
}
if ($params['pager']['current_page'] != $params['pager']['last_page']) {
$url = spUrl($params['c'], $params['a'], $args + array($pagerhandle => $params['pager']['next_page']));
$html .= "Next >";
} else {
$html .= "Next >";
}
$html .= '
return $html;
}
模板调用方法
控制器内使用:
[php]
//资讯列表
function newslist() {
$newsobj = spClass("lib_news");
// 这里使用了spPager,同时用spArgs接受到传入的page参数
$this->results = $newsobj->spPager($this->spArgs('page', 1), 12)->findAll(null, 'id DESC');
// 这里获取分页数据并发送到smarty模板内
$this->pager = $newsobj->spPager()->getPager();
$this->display("admin/news_list.html");
}
CSS样式
[css]
.num {
clear:both; margin:0 auto; width:500px; padding:15px 0 0 0;
}
.num A {
BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #ccc 1px solid; COLOR: #000; PADDING-TOP: 2px; BORDER-BOTTOM: #ccc 1px solid; TEXT-DECORATION: none
}
.num A:hover {
BORDER: #0080C0 1px solid; COLOR: #000;
}
.num A:active {
BORDER: #0080C0 1px solid; COLOR: #000;
}
.num SPAN.current {
BORDER-RIGHT: #0080C0 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #0080C0 1px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #0080C0 1px solid; COLOR: #fff; PADDING-TOP: 2px; BORDER-BOTTOM: #0080C0 1px solid; BACKGROUND-COLOR: #0080C0
}
.num SPAN.disabled {
BORDER-RIGHT: #eee 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #eee 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #eee 1px solid; COLOR: #ddd; PADDING-TOP: 2px; BORDER-BOTTOM: #eee 1px solid
}

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在全球范围内,Apple公司的产品和服务一直备受用户喜爱。注册一个香港AppleID将带给用户更多的便利和特权,让我们一起来了解一下注册香港AppleID的步骤以及需要注意的事项。如何注册香港AppleID在使用苹果设备时,很多应用和功能都需要使用AppleID进行登录。如果您想下载香港地区的应用或享受香港AppStore的优惠内容,那么注册一个香港AppleID就非常必要。本文将详细介绍如何注册香港AppleID的步骤以及需要注意的事项。步骤:选择语言与地区:在苹果设备上找到“设置”选项,进入

Blackmagic Design 终于将其广受好评的 Blackmagic Camera 应用程序带到了 Android 平台。专业摄像机应用程序可免费下载,并提供完整的手动控制。这些控制旨在让您更轻松地获得专业级 cin

评估Java框架商业支持的性价比涉及以下步骤:确定所需的保障级别和服务水平协议(SLA)保证。研究支持团队的经验和专业知识。考虑附加服务,如升级、故障排除和性能优化。权衡商业支持成本与风险缓解和提高效率。

轻量级PHP框架通过小体积和低资源消耗提升应用程序性能。其特点包括:体积小,启动快,内存占用低提升响应速度和吞吐量,降低资源消耗实战案例:SlimFramework创建RESTAPI,仅500KB,高响应性、高吞吐量

根据应用场景选择最佳Go框架:考虑应用类型、语言特性、性能需求、生态系统。常见Go框架:Gin(Web应用)、Echo(Web服务)、Fiber(高吞吐量)、gorm(ORM)、fasthttp(速度)。实战案例:构建RESTAPI(Fiber),与数据库交互(gorm)。选择框架:性能关键选fasthttp,灵活Web应用选Gin/Echo,数据库交互选gorm。

PHP框架的学习曲线取决于语言熟练度、框架复杂性、文档质量和社区支持。与Python框架相比,PHP框架的学习曲线更高,而与Ruby框架相比,则较低。与Java框架相比,PHP框架的学习曲线中等,但入门时间较短。

全球虚拟币交易平台2025年排行榜前四名依次为: 币安:行业龙头,提供多样化交易选择和创新产品。 OKX:庞大用户群,提供全面加密货币服务。 Gate.io:用户友好,提供广泛加密货币选择。 Bitget:专注于衍生品交易,提供高杠杆期货合约。

随着近期各家都把眼光放在了2000至3000价位的中端性能机,引起了一波换机潮,看似千元档好像没有什么水花,但vivo这边悄悄的上架了vivoY系列,包括vivoY37和vivoY37m两款机型,已经于7月20日正式发售,其中vivoY371199元起售,vivoY37m999元起售。一起来看一下他们具体如何。vivoY37和vivoY37m的外观设计一致,提供了远山青、菱光紫等多种颜色选择。整体轻薄易持,线条流畅,质感上兼顾了时尚与实用的完美组合。轻盈手感:两者重量都仅有185g,握持就是轻盈
