##程序内置标签
***
[TOC]
### 全局URL标签
循输出网站默认url地址 调用方式:
~~~
//全局前台页面链接
{JY:url name="album" } //专辑页面链接
{JY:url name="album_type" } //专辑类型页面链接
{JY:url name="artist" } //艺人页面链接
{JY:url name="artist_type" } //艺人类型页面链接
{JY:url name="cate" } //音乐分类页面链接
{JY:url name="tag" } //风格标签页面链接
{JY:url name="ranks" } //排行榜页面链接
{JY:url name="search" } //搜索页面链接
//全局用户链接
{JY:url name="user_captcha" } //用户验证码
{JY:url name="user_pact" } //用户协议
{JY:url name="user_login" } //用户登录展示页面
{JY:url name="user_sign" } //用户提交登录
{JY:url name="user_signup" } //用户注册展示页面
{JY:url name="user_join" } //用户提交登录
{JY:url name="user_logout" } //用户退出登录
{JY:url name="user_findpwd" } //用户找回密码
{JY:url name="oauth_weibo" } //第三方微博登录
{JY:url name="oauth_qq" } //第三方qq登录
{JY:url name="musician_auth" } //音乐人认证展示页
{JY:url name="musician_save" } //音乐认证创建提交
{JY:url name="musician_update" } //音乐人认证更新提交
{JY:url name="user_set" } //用户资料修改展示
{JY:url name="user_send_set" } //用户提交修改资料
{JY:url name="user_avatar" } //用户头像修改展示
{JY:url name="user_send_avatar" } //用户提交头像修改
{JY:url name="user_pwd" } //用户修改密码展示
{JY:url name="user_send_pwd" } //用户提交密码修改
{JY:url name="user_account" } //用户个人账户展示
{JY:url name="user_charge" } //账户充值
{JY:url name="user_upgrade" } //升级用户组
{JY:url name="user_album" } //用户个人专辑
{JY:url name="album_create" } //用户创建专辑
{JY:url name="album_save" } //用户提交创建专辑
{JY:url name="album_edit" } //用户专辑编辑
{JY:url name="album_update" } //用户提交编辑专辑
{JY:url name="user_music" } //用户音乐页面链接
{JY:url name="user_music_audit" } //用户音乐待审
{JY:url name="user_music_back" } //用户音乐驳回
{JY:url name="user_music_down" } //用户音乐下载记录
{JY:url name="music_share" } //用户音乐上传
{JY:url name="music_save" } //用户提交上传音乐
{JY:url name="music_edit" } //用户编辑音乐展示
{JY:url name="music_update" } //用户提交音乐编辑
{JY:url name="user_fav" } //用户收藏
{JY:url name="user_fav_album" } //用户收藏专辑
{JY:url name="user_follow" } //用户关注
{JY:url name="user_fans" } //用户粉丝
{JY:url name="user_msg" } //用户消息
{JY:url name="user_notice" } //系统通知
~~~
### songs 歌曲标签
循环输出歌曲数据集 调用方式:
~~~
{JY:songs result="v" 属性名称="属性值" limit="12" order="create_time"}
<ul>
<li>{$v['name']}</li>
</ul>
{/JY:songs}
~~~
示例:输出指定歌手id为123下12条歌曲 并按照收藏排序
~~~
<ul>
{JY:songs result="v" artist="123" limit="12" order="favtime"}
<li>{$v['name']}</li>
{/JY:songs}
</ul>
~~~
示例:输出指定专辑id为123下12条歌曲 并按照id 倒序排序
~~~
<ul>
{JY:songs result="v" album="123" limit="12" order="id"}
<li>{$v['name']}</li>
{/JY:songs}
</ul>
~~~
示例:输出指定歌手id为123下12条歌曲 并按照下载排序
~~~
<ul>
{JY:songs result="v" artist="123" limit="12" cache="downoad"}
<li>{$v['name']}</li>
{/JY:songs}
</ul>
~~~
示例:输出指定分类id为3下所有12条歌曲 并按照点赞排序
~~~
<ul>
{JY:songs result="v" genre="3" limit="12" order="digg"}
<li>{$v['name']}</li>
{/JY:songs}
</ul>
~~~
示例:输出指定用户uid为123下12条歌曲 并指定缓存3600秒
~~~
<ul>
{JY:songs result="v" uid="123" limit="12" cache="3600"}
<li>{$v['name']}</li>
{/JY:songs}
</ul>
~~~
示例:输出指定排行榜id为2下随机12条歌曲
~~~
<ul>
{JY:songs result="v" rank="2" limit="12" order="rank()"}
<li>{$v['name']}</li>
{/JY:songs}
</ul>
~~~
示例:输出指定风格标签id为2下12条歌曲
~~~
<ul>
{JY:songs result="v" tag="2" limit="12" order="create_time"}
<li>{$v['name']}</li>
{/JY:songs}
</ul>
~~~
并且标签可以嵌套使用,可以混合嵌套使用,
混合嵌套, 曲风标签和歌曲标签 嵌套,下面的实例,将会输出每个曲风的同时输出其对应下的歌曲数据
~~~
<ul>
{JY:genre result="g" limit="12" order="create_time"}
<li>{$g['name']}</li>
<ul>
{JY:songs result="s" genre="$g['id']" limit="12" order="listens"}
<li><a href="{$s['url']}" >{$s['name']}</a></li>
{/JY:songs}
</ul>
{/JY:genre}
</ul>
~~~
或者指定分类id为 1,2,3,4下的歌曲
~~~
<ul>
{JY:genre result="g" id="1,2,3,4" limit="12" order="create_time"}
<li>{$g['name']}</li>
<ul>
{JY:songs result="s" genre="$g['id']" limit="12" order="listens"}
<li><a href="{$s['url']}">{$s['name']}</a></li>
{/JY:songs}
</ul>
{/JY:genre}
</ul>
~~~
>[warning] 需要注意的是,嵌套使用标签的时候,两个result的值 也就是变量名称 不能重复否则可能出现变量混淆
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| result | songs | 任意字母 | 自定义定义循环结果集变量名称例如:v,vo |
| limit | 10 | 数字 | 指定查询结果数量:如20 会 10,20 将会输出第10-20条 之间的数据 |
| order | id | 详见下方说明 | 指定排序方式查询数据 |
| key | key | 任意字母 | 列表ID 注意调用时 直接使用{$i}即可,将会输出 1,2,3,4......|
| artist | 无 | 艺术家ID | 遍历指定艺术家所有歌曲,属性出现必须指定值 |
| album | 无 | 专辑ID | 遍历指定专辑所有歌曲,属性出现必须指定值 |
| genre | 无 | 曲风ID | 遍历指定曲风下所有歌曲,属性出现必须指定值 |
| uid | 无 | 会员ID| 遍历指定会员下所有歌曲,属性出现必须指定值 |
| pos | 无 | 数字|遍历指定推荐位下所有歌曲,属性出现必须指定值,多个推荐位将其值相加|
| page | 无 | 混合|1或任意字符,赋值后将会开启分页,对应page变量将会是,$xx['page']|
| id | 无 | 混合 | 输出指定id或多个id下的歌曲,例如:11或11,22,33,44 |
| cache | 无 | 数字 | 缓存时间单位秒,强烈建议使用缓存,缓存一些网站不经常更新的数据以便提升访问速度 |
>[info] songs标签 order属性可以设置的值有: create_time 添加时间、listens 试听次数、download 下载次数、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 | 同上 | 收藏次数 |
| digg | 同上 | 点赞次数 |
| create_time | 同上 | 添加时间 |
| update_time | 同上 | 添加时间 |
### album 专辑标签
循环输出专辑数据集 ,同样可以嵌套,嵌套方式参考歌曲标签详解 单个调用方式:
~~~
<ul>
{JY:album result="v" 属性名称="属性值" limit="12" order="create_time"}
<li>{$v['name']}</li>
{/JY:album}
</ul>
~~~
示例:输出艺人id为12的所有专辑 按照创建时间排序
~~~
<ul>
{JY:album result="v" artist="12" order="create_time"}
<li>{$v['name']}</li>
{/JY:album}
</ul>
~~~
示例:输出专辑类型id为3的所有专辑 按照创建时间排序
~~~
<ul>
{JY:album result="v" type="3" order="create_time"}
<li>{$v['name']}</li>
{/JY:album}
</ul>
~~~
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| result | album | 任意字母 | 自定义定义循环结果集变量名称 |
| limit | 10 | 数字 | 指定查询结果数量:如20 会 10,20 将会输出第10-20条之间的数据 |
| order | id | 详见下方说明 | 指定递减排序方式查询数据 |
| artist | 无 | 艺术家ID | 遍历指定艺术家下专辑,属性出现必须指定值 |
| type | 无 | 专辑分类ID | 遍历指定定分类下专辑,属性出现必须指定值 |
| id | 无 | 混合 | 输出指定id或多个id下的专辑,例如:11或11,22,33,44 |
| pos | 无 | 数字| 遍历指定推荐位下所有专辑,属性出现必须指定值|
| cache | 无 | 数字 | 缓存时间单位秒 |
>[info] album标签 order属性可以设置的值有: create_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 | 同上 | 专辑描述 |
| cover_url| 同上|专辑封面地址|
| create_time | 同上 | 添加时间|
| update_time | 同上 | 更新时间 |
### artist 艺术家标签
循环输出艺术家数据集 调用方式:
~~~
<ul>
{JY:artist result="v" 属性名称="属性值" limit="12" order="create_time"}
<li>{$v['name']}</li>
{/JY:artist}
</ul>
~~~
示例:输出艺人类型id为3的所有专辑 按照创建时间排序
~~~
<ul>
{JY:artist result="v" type="3" order="create_time"}
<li>{$v['name']}</li>
{/JY:artist}
</ul>
~~~
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| result | artist | 任意字母 | 自定义定义循环结果集变量名称 |
| limit | 10 | 数字 | 指定查询结果数量:如20 会 10,20 将会输出第10-20 之间的数据 |
| order | id | 详见下方说明 | 指定递减排序方式查询数据 |
| type | 无 | 类型ID | 遍历指定类型下艺术家,属性出现必须指定值 |
| id | 无 | 混合 | 输出指定id或多个id下的艺术家,例如:11或11,22,33,44 |
| pos | 无 | 数字| 遍历指定推荐位下所有艺术家,属性出现必须指定值 |
| cache | 无 | 数字 | 缓存时间单位秒 |
>[info] artist标签 order属性可以设置的值有: add_time 添加时间、listens 试听次数、download 下载次数、rater 评分。 可混合使用使用 英文 , 号隔开
| 输出属性 | 输出方式 | 输出说明 |
| -- | -- | -- |
| id | `{$v['id']}` | 输出艺人id|
| name | `{$v['name']}` | 输出艺人名称|
| url | `{$v['url']}` | 输出艺人链接|
| type_id | 同上 | 输分类型id |
| type_name | 同上 | 类型名称 |
| type_url | 同上 | 类型链接地址 |
| region | 同上 | 输出所地区名称 |
| hits | 同上 | 点击次数 |
| favtimes | 同上 | 收藏次数 |
| introduce | 同上 | 艺人描述 |
| cover_url| 同上|艺术家封面地址|
| create_time | 同上 | 添加时间 |
| update_time | 同上 | 更新时间 |
### genre 分类标签
循环输出分类数据集 调用方式:
~~~
<ul>
{JY:genre result="v" 属性名称="属性值" limit="12" order="add_time"}
<li>{$v['name']}</li>
{/JY:genre}
</ul>
~~~
示例:输出类型id为3,6,9的所有曲风分类 按照创建时间排序
~~~
<ul>
{JY:genre result="v" id="3,6,9" order="create_time"}
<li>{$v['name']}</li>
{/JY:genre}
</ul>
~~~
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| result | genre | 任意字母 | 自定义定义循环结果集变量名称 |
| limit | 10 | 数字 | 指定查询结果数量:如20 会 10,20 将会输出第10-20 之间的数据 |
| order | id | 详见下方说明 | 指定递减排序方式查询数据 |
| pid | 无 | 父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']} ` | 输出曲风连接地址|
| pid | 同上 | 输出父级id |
| description | 同上 | 曲风描述 |
| cover_url| 同上|曲风封面地址|
| create_time | 同上 | 添加时间 |
| update_time | 同上 | 更新时间 |
### 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 | 无 | 数字 | 缓存时间单位秒 |
>[info] tag标签 order属性可以设置的值有: add_time , 号隔开
| 输出属性 | 输出方式 | 输出说明 |
| -- | -- | -- |
| id | `{$v['id']}` | 输出标签id|
| name | `{$v['name']} ` | 输出标签名称|
| url | `{$v['url']} ` | 输出标签连接地址|
| count | 同上 | 输出标签下所有歌曲数 |
| create_time | 同上 | 添加时间 |
### 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 | 无 | 数字 | 缓存时间单位秒 |
>[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 | 同上 | 添加时间 |
##以下全局通用标签
### count 统计标签
输出对应数据总数量 调用方式:
~~~
{JY:count name="album" /}
~~~
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| name| songs |字母|不填写将会输出歌曲总量,可填参数:album,artist,member,genre,tag... |
>[info] 注意此标签 无需闭合 也就是不需要</JY:count>,仅仅输出数字
### 下一个标签
循环输出下一个数据集 调用方式:
~~~
{JY:next result="c" name="album"}
<a>{$c['name']}</a>
....
{/JY:next}
~~~
| 属性名称 | 默认值 | 值类型 | 说明 |
| -- | -- | -- | -- |
| name| songs |字母|输出那个类型,可填参数:album,artist,member,genre,tag... |
>[info] 注意此标签,在默认各个详细页面下比如歌曲详细页面下可以不用填写data的值 程序自动获取, 输出的内容请参照 以上标签的输出
### 上一个标签
循环输出上一个数据集 调用方式:
~~~
{JY:prev result="p" name="album" }
<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']"}
{JY:loop name="v['_child']" result="c">
<li>{$c['title']}</li>
{/JY:loop}
{/notempty}
</li>
{/JY:nav}
</ul>
~~~
>[info] 导航标签比较简单 就这样调用即可
>[success] 如果你觉得不足以满足你要求我们还内置 很多函数供标签调用终有一种函数是你想要的,下节我们会讲
内置的一些,函数和调用方式