## sp_article (文章列表)
> sp_article 函数 是 sp_list 函数的简化版
>[info] 语法:sp\_article($columnid, $parentid, $number, $options)
> 参数:$columnid (必填)
> 参数:$cateid (选填 默认:0)
> 参数:$number (选填 默认:0)
> 参数:options(选填 数组)
> 返回值:数组
**调用方法**
```
方法 1:{assign name="list" value=":sp_article(13)"}
说明:获取 columnid=13 所有文章
方法 2:{assign name="list" value=":sp_article(13, 8)"}
说明:获取 columnid=13 and cateid=8 所有文章
方法 3:{assign name="list" value=":sp_article(13, 8, 10)"}
说明:获取 columnid=13 and cateid=8 前 10 条文章
方法 4:{assign name="list" value=":sp_article(13, 0, 10)"}
说明:获取 columnid=13 前 10 条文章
方法5:{assign name="list" value=":sp_article(13, 0, 10, ['pageurl'=>'/news-p[page]'])"}
说明:获取 columnid = 13 的文章,每页显示 10 条,分页地址:/news-p[page]
备注:分页地址里面 [page] 参考是必须的。分页地址后面不需要加 .html 系统函数会自动添加。
```
使用 php 直接调用:
```
方法 1:<?php $list = sp_article(13); ?>
方法 2:<?php $list = sp_article(13, 8); ?>
方法 3:<?php $list = sp_article(13, 8, 10); ?>
方法 4:<?php $list = sp_article(13, 0, 10); ?>
方法 5:<?php $list = sp_article(13, 0, 10, ['pageurl'=>'/news-p[page]']); ?>
方法 6:复杂功能(文章分页,启用自定义参数字段,文章列表里调用分类名称)
<?php
$option = [
'where' => 'wsarticle_columnid = 13 and wsarticle_recommend = 1', // 启用自定义搜索功能(只显示推荐文章)
'order' = > 'wsarticle_id desc', // 启用自定义分类
'pageurl' => '/news-p[page]', // 启用分页功能
'cate' => true, // 启用分类显示
'param' => true, // 启用自定义参数
];
$list = sp_article(13, 0, 10, $option);
?>
```
案例 1:
```
<?php
// $options 数组的内容都是选填。
$options = [
// 定义 where 参数后,$columnid, $cateid 这二个参数将会自动失效
'where' => 'wsarticle_columnid = 10 and find_in_set(5, wsarticle_cateid)',
// 排序方式 不填写按默认方式排序
'order' => 'wsarticle_sort asc',
// 不设置该参数将不分页
'pageurl' => '/news-p[page]',
// 分类信息,true 时可以在列表中调用分类信息
'cate' => false,
// 自定义信息,true 时可以在列表中调用自定义字段
'param' => false,
];
// 获取 columnid = 10 and cateid = 5 的数据,每页 10 条数据。
// 生成的 url 为 /news-p1.html,/news-p2.html,/news-p3.html
$list = sp_article(0, 0, 10, $options);
?>
// 循环打印出文章列表
{volist name="list" id="vo"}
<div>新闻ID:$vo['wsarticle_id']</div>
<div>新闻标题:$vo['wsarticle_title']</div>
{/volist}
// 显示分页
{$list->render()}
```
案例 2:演示使用 where 参数 不分页
```
<?php
$options = [
'where' => 'wsarticle_columnid = 10 and find_in_set(5, wsarticle_cateid)',
'order' => 'wscate_sort asc',
];
// 获取 columnid = 10 and cateid = 5 的所有数据。
$list = sp_article(0, 0, 0, $options);
?>
```
案例 3:演示栏目分页
```
<?php
$options = [
'pageurl' => '/news-p[page]', // 分页 url 地址 [page] 为必须
];
$list = sp_article(10, 0, 12, $options);
// 或者简化成以下方式调用
$list = sp_article(10, 0, 12, ['pageurl'=>'/news-p[page]']);
?>
```
案例 4:演示栏目分类分页
```
<?php
$options = [
'pageurl' => '/news/industry-news-5-p[page]', // 分页 url 地址 [page] 为必须
];
// 获取 columnid = 10 and cateid = 5 的数据,每页 10 条数据。
// 生成的 url 为 /news/industry-news-5-p1.html,/news/industry-news-5-p2.html
$list = sp_article(10, 5, 10, $options);
?>
```
案例 5:搜索分页功能
```
<?php
$keywords = '关键词';
$options = [
'where' => "wsarticle_columnid = 10 and wsarticle_title like '%".$keywords."%'",
'pageurl' => '/news/industry-news-5-p[page]', // 分页 url 地址 [page] 为必须
];
// 获取 columnid = 10 and cateid = 5 的数据,每页 10 条数据。
// 生成的 url 为 /news/industry-news-5-p1.html,/news/industry-news-5-p2.html
$list = sp_article(10, 5, 10, $options);
?>
```
**实际案例**
```
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{$site_home} - {$site_title}</title>
<meta name="keywords" content="{$site_keywords}">
<meta name="description" content="{$site_description}">
</head>
<body>
<h1>分类列表展示</h1>
{assign name="list" value=":sp_article(100)"}
{volist name="list" id="vo"}
<div><a href="{:url('/news/'.$vo['wsarticle_id'])}">{$vo['wsarticle_title']}</a></div>
{/volist}
// 分页显示
{$list->render()}
</body>
</html>
```
**支持字段**
>[success] 标题:wsarticle\_title
> 分类 ID:wsarticle\_cateid
> ~~静态页面:wsarticle\_page~~
> 简介:wsarticle\_desc
> 关键词:wsarticle\_keywords
> 描述:wsarticle\_description
> ~~内容:wsarticle\_details~~
> 图片:wsarticle\_image (使用 getimg 函数调用)
> 文件:wsarticle\_file
> 浏览量:wsarticle\_views
> 作者:wsarticle\_author
> 来源:wsarticle\_source
> 发布时间:wsarticle\_create\_time
> 需要更多字段请查看数据表 site_wsarticle