ClassCMS

文章

模板内通过A函数可以很方便的调用栏目的文章,配合loop循环语法,输出文章列表.

调用当前栏目的文章

{loop a() as $article}
    文章标题:{$article.title} 文章网址:{$article.link} 文章id:{$article.id} 文章栏目id:{$article.cid}{br}
    文章序号:{$article.key},如需从1开始则使用:{$article.key=$article.key+1} {$article.key}
{/loop}

带参数调用

{//调用栏目ID=66618103中的5篇文章}
{loop a('cid',66618103,'pagesize',5) as $article}
    文章标题:{$article.title} 文章网址:{$article.link} 文章栏目id:{$article.cid}
{/loop}

{//调用link模型下,字段enabled=1的所有文章}
{loop a('modulehash','link','where.enabled',1,'pagesize',0) as $thislink}
<a href="{$thislink.link}" target="_blank">{$thislink.title}</a>
{/loop}

带数组参数调用

复杂的查询推荐使用此方法,注意数组变量名不要与其他文章查询重复,或者在查询前,初始化数组 {$test=array()}

{//调用栏目ID=66618103中的5篇文章}
{$test.cid=66618103}
{$test.pagesize=5}
{$articles=a($test)}
{//将返回的文章数组赋值给变量$articles}
{loop $articles as $article}
    文章标题:{$article.title}
    {print_r($article)} {//通过print_r函数可以将当前文章所有字段显示在网页上,方便查看与调试}
{/loop}
查询到的文章数量:{count($articles)}

常用参数

cid:目标栏目的id,只调用该栏目下的文章,如id不为数字,则调用此栏目名下的文章,如果不附带此参数,则cid为当前栏目的id.

cids:多个目标栏目的id,只调用这些栏目下的文章,这些栏目必须是同一个模型的下属栏目,使用英文';'号分隔,如: 1;2;3

modulehash:调用目标模型标识下的文章.

enabled:是否包含已禁用栏目的文章(只对填写了cids或modulehash参数有效),默认为1,=1时不显示已禁用的栏目的文章,=0时显示.

all:下属栏目的文章,默认为0,=0时只获取本栏目文章,=1时获取自身与下属栏目的文章,=2时只获取下属栏目的文章.

order:文章排序,默认为id desc,如当前栏目拥有变量order,则order为当前栏目变量的order值.order=rand时,文章随机排序.

pagesize:文章数量,默认为10,如果pagesize=0则调用所有文章,如当前栏目拥有变量pagesize,则pagesize为当前栏目变量的pagesize值.

start:文章查询起始行数.

maxpage:限制显示文章页数.

column:仅查询指定字段如:id,title 默认为*,查询所有.注:也会一并查询文章页页面网址中包含的字段

sql:手动附带sql语法,如:id='1'.

fullurl:返回完整的文章网址.

where:文章的查询条件,详情.

获取栏目文章数量


{$test.cid=66618103}
{$test.pagesize=0}
{$test.column=id}
{$articles=a($test)}
文章数量:{count($articles)}

{//如栏目内文章数量较多,可以直接使用以下方法查询文章数量,效率较高}
<?php
echo(total('article_template_article',where('cid',66618103)));
?>
{//文章表名可以模型字段列表页查看}

不同页面的文章地址

通过后台模型可以增加多个文章页面,在a函数里面加route参数就可以让文章网址根据route参数生成对应的网址(默认的route为article).

如后台增加了页面标识为 article2 网址为 /($.id)/($id)/2/

{$test.route=article2}
{$articles=a($test)}
{loop $articles as $article}
    {$article.link} {//文章网址为/栏目id/文章id/2/}
{/loop}

也可以通过U函数动态生成对应文章的网址.

{$test.cid=66618103}
{$articles=a($test)}
{loop $articles as $article}
    {U(66618103,article2,$article)}  {//66618103为栏目id,article2为页面标识,$article为文章数组}
{/loop}