##程序内置标签
***
[TOC]
###songs 歌曲标签
循环输出歌曲数据集 调用方式:
~~~
<JY:songs result="v" 属性名称="属性值" limit="12" order="add_time">
<ul>
<li><{$v['name']}></li>
</ul>
</JY:songs>
~~~
并且标签可以嵌套使用,可以混合嵌套使用,
同标签嵌套
~~~
<ul>
<JY:songs result="v" 属性名称="属性值" limit="12" order="add_time">
<li><{$v['name']}></li>
<ul>
<JY:songs result="s" 属性名称="属性值" limit="12" order="add_time">
<li><{$s['name']}></li>
</JY:songs>
</ul>
</JY:songs>
</ul>
~~~
混合嵌套, 曲风标签和歌曲标签 嵌套,下面的实例,将会输出每个曲风的同时输出其对应下的歌曲数据
~~~
<ul>
<JY:genre result="g" 属性名称="属性值" limit="12" order="add_time">
<li><{$g['name']}></li>
<ul>
<JY:songs result="s" genren_id="$g['id']" 属性名称="属性值" limit="12" order="add_time">
<li><{$s['name']}></li>
</JY:songs>
</ul>
</JY:genre>
</ul>
~~~
>[warning] 需要注意的是,嵌套使用标签的时候,两个result的值 也就是变量名称 不能重复否则可能出现变量混淆
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| result | songs | 任意字母 | 自定义定义循环结果集变量名称例如:v,vo |
| limit | 10 | 数字 | 指定查询结果数量:如20 会 10,20 将会输出第10-20条 之间的数据 |
| order | id | 详见下方说明 | 指定排序方式查询数据 |
| key | i | 任意字母 | 列表ID 注意调用时 直接使用<{$i}> 即可,将会输出 1,2,3,4......|
| artist_id | 无 | 艺术家ID | 遍历指定艺术家所有歌曲,属性出现必须指定值 |
| album_id | 无 | 专辑ID | 遍历指定专辑所有歌曲,属性出现必须指定值 |
| genre_id | 无 | 曲风ID | 遍历指定曲风下所有歌曲,属性出现必须指定值 |
| up_uid | 无 | 会员ID| 遍历指定会员下所有歌曲,属性出现必须指定值 |
| pos | 无 | 数字|遍历指定推荐位下所有歌曲,属性出现必须指定值,多个推荐位将其值相加|
| page | 无 | 混合|1或任意字符,赋值后将会开启分页,对应page变量将会是,$xx['page']|
| id | 无 | 混合 | 输出指定id或多个id下的歌曲,例如:11或11,22,33,44 |
| cache_time | 无 | 数字 | 缓存时间单位秒,强烈建议使用缓存,缓存一些网站不经常更新的数据以便提升访问速度 |
>[info] songs标签 order属性可以设置的值有: add_time 添加时间、listens 试听次数、download 下载次数、rater 评分、favtimes 收藏、likes喜欢 等。 可混合使用使用 英文 , 号隔开
变量输出,输入变量的名称是根据 result 属性值而来 例如我们定义了 result="v" 那么调用时就是 $v['name']:
| 输出属性 | 输出方式 | 输出说明 |
| -- | -- | -- |
| id | <{$v['id']}> | 输出歌曲id|
| name | <{$v['name']}> | 输出歌曲名称|
| url | <{$v['url']}> | 输出歌曲连接|
| down_url | <{$v['down_url']}> | 输出歌曲下载连接|
| up_uid | 同上 | 输分享者id |
| up_uname | 同上 | 分享者昵称 |
| user_url | 同上 | 分享者空间地址 |
| album_id | 同上 | 输出专辑id |
| album_name | 同上 | 输出专辑名称 |
| album_url | 同上 | 输出专辑连接 |
| artist_id | 同上 | 输出艺术家id |
| artist_name | 同上 | 输出艺术家名称 |
| artist_name | 同上 | 输出艺术家连接 |
| genre_id | 同上 | 输出曲风id |
| genre_name | 同上 | 输出曲风名称 |
| genre_url | 同上 | 输出曲风连接 |
| cover_url | 同上 | 输出封面地址 |
| download | 同上 | 下载次数 |
| rater | 同上 | 评分值 |
| listens | 同上 | 试听次数 |
| favtimes | 同上 | 收藏次数 |
| likes | 同上 | 喜欢次数 |
| add_time | 同上 | 添加时间:需格式化 |
| update_time | 同上 | 添加时间:需格式化 |
| position | 同上 | 歌曲地址 |
>[info]上文所述的xx,就是result的值,page属性适用于以下所有标签,时间格式化方式:<{$v['add_time']|time_format='Y-m-d h:i:s'}>
### album 专辑标签
循环输出专辑数据集 ,同样可以嵌套,嵌套方式参考歌曲标签详解 单个调用方式:
~~~
<ul>
<JY:album result="v" 属性名称="属性值" limit="12" order="add_time">
<li><{$v['name']}></li>
</JY:album>
</ul>
~~~
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| result | album | 任意字母 | 自定义定义循环结果集变量名称 |
| limit | 10 | 数字 | 指定查询结果数量:如20 会 10,20 将会输出第10-20条之间的数据 |
| order | id | 详见下方说明 | 指定递减排序方式查询数据 |
| artist_id | 无 | 艺术家ID | 遍历指定艺术家下专辑,属性出现必须指定值 |
| type_id | 无 | 专辑分类ID | 遍历指定定分类下专辑,属性出现必须指定值 |
| genre_id | 无 | 曲风ID | 遍历指定曲风下专辑,属性出现必须指定值 |
| id | 无 | 混合 | 输出指定id或多个id下的专辑,例如:11或11,22,33,44 |
| pos | 无 | 数字| 遍历指定推荐位下所有专辑,属性出现必须指定值|
| cache_time | 无 | 数字 | 缓存时间单位秒 |
>[info] album标签 order属性可以设置的值有: add_time 添加时间、hits 点击次数、favtimes 收藏、likes喜欢 等。 可混合使用使用 英文 , 号隔开
| 输出属性 | 输出方式 | 输出说明 |
| -- | -- | -- |
| id | <{$v['id']}> | 输出专辑id|
| name | <{$v['name']}> | 输出专辑名称|
| url | <{$v['url']}> | 输出专辑连接地址|
| type_id | 同上 | 输分类型id |
| type_uname | 同上 | 分享类型昵称 |
| artist_id | 同上 | 输出所属艺术家id |
| artist_name | 同上 | 输出所属艺术家名称 |
| artist_url | 同上 | 输出所属家艺术家连接 |
| genre_id | 同上 | 输出所属曲风id |
| genre_name | 同上 | 输出所属曲风名称 |
| genre_url | 同上 | 输出所属曲风家连接 |
| company | 同上 | 输出所属唱片公司 |
| pub_time | 同上 | 输出发行时间 |
| hits | 同上 | 点击次数 |
| favtimes | 同上 | 收藏次数 |
| rater | 同上 | 评分值 |
| likes | 同上 | 喜欢次数 |
| introduce | 同上 | 专辑描述 |
| likes | 同上 | 喜欢次数 |
|cover_url| 同上|专辑封面地址|
| add_time | 同上 | 添加时间:需格式化 |
| update_time | 同上 | 更新时间:需格式化 |
>[info]时间格式化方式:<{$v['add_time']|time_format='Y-m-d'}>
### artist 艺术家标签
循环输出艺术家数据集 调用方式:
~~~
<ul>
<JY:artist result="v" 属性名称="属性值" limit="12" order="add_time">
<li><{$v['name']}></li>
</JY:artist>
</ul>
~~~
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| result | artist | 任意字母 | 自定义定义循环结果集变量名称 |
| limit | 10 | 数字 | 指定查询结果数量:如20 会 10,20 将会输出第10-20 之间的数据 |
| order | id | 详见下方说明 | 指定递减排序方式查询数据 |
| type_id | 无 | 类型ID | 遍历指定类型下艺术家,属性出现必须指定值 |
| region_id | 无 | 地区分类ID | 遍历指定地区下艺术家,属性出现必须指定值 |
| genre_id | 无 | 曲风ID | 遍历指定曲风下所有专辑,属性出现必须指定值 |
| id | 无 | 混合 | 输出指定id或多个id下的艺术家,例如:11或11,22,33,44 |
| pos | 无 | 数字| 遍历指定推荐位下所有艺术家,属性出现必须指定值 |
| cache_time | 无 | 数字 | 缓存时间单位秒 |
>[info] artist标签 order属性可以设置的值有: add_time 添加时间、listens 试听次数、download 下载次数、rater 评分。 可混合使用使用 英文 , 号隔开
| 输出属性 | 输出方式 | 输出说明 |
| -- | -- | -- |
| id | <{$v['id']}> | 输出艺术家d|
| name | <{$v['name']}> | 输出艺术家名称|
| url | <{$v['url']}> | 输出艺术家连接|
| type_id | 同上 | 输分类型id |
| type_uname | 同上 | 分享类型昵称 |
| region_id | 同上 | 输出所属地区id |
| region | 同上 | 输出所地区名称 |
| hits | 同上 | 点击次数 |
| favtimes | 同上 | 收藏次数 |
| rater | 同上 | 评分值 |
| likes | 同上 | 喜欢次数 |
| introduce | 同上 | 专辑描述 |
| likes | 同上 | 喜欢次数 |
|cover_url| 同上|艺术家封面地址|
| add_time | 同上 | 添加时间:需格式化 |
| update_time | 同上 | 更新时间:需格式化 |
>[info]时间格式化方式:<{$v['add_time']|time_format='Y-m-d'}>
### genre 曲风标签
循环输出曲风数据集 调用方式:
~~~
<ul>
<JY:genre result="v" 属性名称="属性值" limit="12" order="add_time">
<li><{$v['name']}></li>
</JY:genre>
</ul>
~~~
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| result | genre | 任意字母 | 自定义定义循环结果集变量名称 |
| limit | 10 | 数字 | 指定查询结果数量:如20 会 10,20 将会输出第10-20 之间的数据 |
| order | id | 详见下方说明 | 指定递减排序方式查询数据 |
| p_id | 无 | 父ID | 遍历指定父级分类下曲风,属性出现必须指定值 |
| id | 无 | 混合 | 输出指定id或多个id下的曲风,例如:11或11,22,33,44 |
| tree | 无 | 混合 |设置为1或任意值 将会生成曲风树 ,子变量名称将会是$xxx【'_child'】 注意他是个数组 |
| cache_time | 无 | 数字 | 缓存时间单位秒 |
>[info] artist标签 order属性可以设置的值有: add_time 添加时间、 等。 可混合使用使用 英文 , 号隔开
| 输出属性 | 输出方式 | 输出说明 |
| -- | -- | -- |
| id | <{$v['id']}> | 输出曲风id|
| name | <{$v['name']}> | 输出曲风名称|
| url | <{$v['url']}> | 输出曲风连接地址|
| p_id | 同上 | 输出父级id |
| description | 同上 | 曲风描述 |
|cover_url| 同上|曲风封面地址|
| add_time | 同上 | 添加时间:需格式化 |
| update_time | 同上 | 更新时间:需格式化 |
>[info]时间格式化方式:<{$v['add_time']|time_format='Y-m-d'}>
### tag 音乐标签
循环输出音乐标签数据集 调用方式:
~~~
<ul>
<JY:tag result="v" 属性名称="属性值" limit="12" order="add_time">
<li><{$v['name']}></li>
</JY:tag>
</ul>
~~~
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| result | genre | 任意字母 | 自定义定义循环结果集变量名称 |
| limit | 10 | 数字 | 指定查询结果数量:如20 会 10,20 将会输出第10-20 之间的数据 |
| order | id | 详见下方说明 | 指定递减排序方式查询数据 |
| group | id | 标签组ID | 遍历指定父级分类下曲风,属性出现必须指定值 |
| cache_time | 无 | 数字 | 缓存时间单位秒 |
>[info] tag标签 order属性可以设置的值有: add_time , 号隔开
| 输出属性 | 输出方式 | 输出说明 |
| -- | -- | -- |
| id | <{$v['id']}> | 输出标签id|
| name | <{$v['name']}> | 输出标签名称|
| url | <{$v['url']}> | 输出标签连接地址|
| count | 同上 | 输出标签下所有歌曲数 |
| add_time | 同上 | 添加时间:需格式化 |
>[info]如要注意的是在后台添加标签的时候,一定要添加别名,时间格式化方式:<{$v['add_time']|time_format='Y-m-d'}>
### member 会员标签
循环输出会员数据集 调用方式:
~~~
<ul>
<JY:member result="v" 属性名称="属性值" limit="12" order="reg_time">
<li><{$v['nickname']}></li>
</JY:member>
</ul>
~~~
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| result | member | 任意字母 | 自定义定义循环结果集变量名称 |
| limit | 10 | 数字 | 指定查询结果数量:如20 会 10,20 将会输出第10-20 之间的数据 |
| order | id | 详见下方说明 | 指定递减排序方式查询数据 |
| cache_time | 无 | 数字 | 缓存时间单位秒 |
>[info] tag标签 order属性可以设置的值有: reg_time desc
| 输出属性 | 输出方式 | 输出说明 |
| -- | -- | -- |
| uid | <{$v['uid']}> | 输出会员id|
| nickname | <{$v['nickname']}> | 输出会员名称|
| url | <{$v['url']}> | 输出会员连接地址|
| songs | 同上 | 输出会员所有歌曲数 |
| listens | 同上 | 输出会员所有歌曲试听数 |
|follows | 同上 | 输出会员所有关注数 |
| fans | 同上 | 输出会员所有粉丝数 |
| sex | 同上 | 输出会员性别 0:男 1:女 |
| birthday | 同上 | 输出会员生日 |
| qq | 同上 | 输出会员qq |
| signature | 同上 | 输出会员个人签名 |
| reg_time | 同上 | 添加时间:需格式化 |
>[info]时间格式化方式:<{$v[ 'reg_time']|time_format='Y-m-d'}>
##以下全局通用标签
### count 统计标签
输出对应数据总数量 调用方式:
~~~
<JY:count name="album" />
~~~
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| name| songs |字母|不填写将会输出歌曲总量,可填参数:album,artist,member,genre,tag... |
>[info] 注意此标签 无需闭合 也就是不需要</JY:count>,仅仅输出数字
### 下一个标签
循环输出下一个数据集 调用方式:
<JY:next result="c" name="album" data="">
<a><{$c['name']}></a>
....
</JY:nav>
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| name| songs |字母|输出那个类型,可填参数:album,artist,member,genre,tag... |
>[info] 注意此标签,在默认各个详细页面下比如歌曲详细页面下可以不用填写data的值 程序自动获取, 输出的内容请参照 以上标签的输出
### 上一个标签
循环输出上一个数据集 调用方式:
<JY:prev result="p" name="album" data="">
<a><{$p['name']}></a>
.....
</JY:prev>
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| name| songs |字母|输出那个类型,可填参数:album,artist,member,genre,tag... |
>[info] 注意此标签,在默认各个详细页面下比如歌曲详细页面下可以不用填写data的值 程序自动获取, 输出的内容请参照 以上标签的输出
### nav 导航标签
循环输出导航标签数据集 调用方式:
~~~
<ul>
<JY:nav name="v" tree="1">
<li>
<{$v['title']}>
//如果子导航不为空循环子导航结果
<notempty name="v['_child']">
<foreach name="v['_child']" item="c">
<li><{$c['title']}></li>
</foreach>
</notempty>
</li>
</JY:nav>
</ul>
~~~
>[info] 导航标签比较简单 就这样调用即可
>[success] 如果你觉得不足以满足你要求我们还内置 很多函数供标签调用终有一种函数是你想要的,下节我们会讲
内置的一些,函数和调用方式