JY音乐必看+调用标签+jyMUSIC通用获取歌曲信息地址

2019-03-07 05:48:33 -0500
jyMUSIC通用获取歌曲信息地址

/index.php?s=/api/songs/187.html
JY音乐管理程序
本文整理者 未来DJ
网址weilaidj.com
QQ:337847101
=====模板文件介绍目录介绍=====
resources 为模板目录

web文件夹为PC端模板主题目录,wap为移动端模板主题没有,以下介绍为web文件夹下的 default 主题
└─ ? default - 程序默认主题
? │
? ├─ article资讯块模板文件
?? ├─ article_detail.html ? 资讯内容详细页面
?? ├─ cate_detail.html ? 资讯分类页面
?? ├─ index.html ? 空白页面 防止目录访问
?? ├─ index_index ? 资讯首页
?? ├─ public_common.html ? 公用布局页
?? ├─ public_header.html ? 页眉
?? ├─ public_footer.html ? 页脚
?? ├─ site_detail.html ? 关于网站等详情页面
? ├─ home 主内容模板文件
?? ├─ album_detail.html ? 专辑详细页面
?? ├─ album_index.html ? 专辑页面
?? ├─ album_type.html ? 专辑类型页面
?? ├─ artist_albums.html ? 艺人专辑页面
?? ├─ artist_detail.html ? 艺人详细页面
?? ├─ artist_index.html ? 艺人页面
?? ├─ artist_songs.html ? 艺人歌曲页面
?? ├─ genre_detail.html ? 曲风详细页面
?? ├─ genre_index.html ? 曲风页面
?? ├─ index.html ? 空白页面 防止目录访问
?? ├─ index_index.html ? 网站首页
?? ├─ music_detail.html ? 音乐详细页面
?? ├─ music_down.html ? 音乐下载页面
?? ├─ player_default.html ? 共用播放器调用也(调用方式:{include file="player/default"/}
?? ├─ public_common.html ? 共用布局页面
?? ├─ public_footer.html ? 共用页脚页面
?? ├─ public_header.html ? 共用页眉页面
?? ├─ ranks_detail.html ? 排行榜详细页面
?? ├─ ranks_index.htm ? 排行榜页面
?? ├─ search_album.html ? 搜索专辑显示页面
?? ├─ search_artist.html ? 搜索艺术家显示页面
?? ├─ search_songs.html ? 搜索音乐显示页面
?? ├─ sidebar_adver.html ? 侧边栏广告页面 可多次调用 {include file="sidebar/adver"/}
?? ├─ tag_detail.html ? 风格标签详细页面
?? ├─ tag_index.html ? 风格标签页面
? ├─ assets 资源文件
?? ├─ css ? css文件存放目录
?? ├─ images ? 图片存放目录
?? ├─ js ? js文件存放目录
?├─ user user模块内容模板
?? ├─ account_charge.html ? 账户充值页面
?? ├─ account_index ? 账户页面
?? ├─ account_upgrade.html ? 用户组升级页面
?? ├─ album_create.html ? 专辑创建页面
?? ├─ album_index.html ? 专辑显示页面
?? ├─ auth_activate.htm ? 账户激活页面
?? ├─ auth_login.html ? 用户登录页面
?? ├─ auth_pact.html ? 用户协议页面
?? ├─ auth_reset.html 用户密码重置页面
?? ├─ auth_signup.html ? 用户注册页面
?? ├─ fav_album.html ? 个人专辑收藏
?? ├─ fav_index.html ? 歌曲收藏页面
?? ├─ index.html ? 空白页面 防止目录访问
?? ├─ index_album.html ?个人空间专辑页面
?? ├─ index_common.html ? 个人空间公用页面
?? ├─ index_fans.html ? 个人空间粉丝页面
?? ├─ index_music.html ? 个人空间音乐页面
?? ├─ index_read.html ? 用户个人
?? ├─ message_index.html ? 消息中心
?? ├─ message_read.html ? 消息详情页
?? ├─ music_audit.html ? 个人音乐待审页面
?? ├─ music_back.html ? 个人音乐驳回页面
?? ├─ music_down.html ? 个人音乐下载记录
?? ├─ music_index.html ? 个人音乐记录页
?? ├─ music_share.html ? 音乐分享页面
?? ├─ musician_create.html ? 音乐人认证页面
?? ├─ notice_index.html ? 系统通知页
?? ├─ notice_read.html ? 系统通知详情页
?? ├─ public_common.html ? 中心公用页面
?? ├─ public_footer.html ? 公用页脚页
?? ├─ public_head.html ? 公用头部
?? ├─ relation_fans.html ? 个人粉丝
?? ├─ relation_follow.html ? 个人关注
?? ├─ setting_avatar.html ? 用户头像设置
?? └─ setting_index.html ? 个人资料设置页
? ├─ conf.php ? 主题配置 用于后台显示主题详细信息以及作者信息
? ├─ index.html ? 空白页面 防止目录访问
? └─ screenshot.png ? 主题截图 用于后台显示



=======全站通用标签====

resources/web/default/home //PC模板路径
resources/wap/default/home //手机模板路径
weilaidj.com/api/actions/listen.html?id=1
{$web_title}--网站标题
{:config('WEB_SITE_NAME')} ---网站名称
{:config('web_domain')} --网站域名
{:config('WEB_SITE_DESCRIPTION')} --网站介绍
{$meta_title} --网站seo标题
{$meta_keywords} --网站seo关键词
{$meta_description} --网站seo描述
{:config('web_email')} --网站邮箱
{:config('web_qq')} --网站QQ
{:config('web_phone')} ---网站手机
{:config('web_site_icp')} --网站备案号
{:config('WEB_SITE_STAT')} --网站统计
__PUBLIC__ --当前网站的公共目录 /public/
__STATIC__ --当前网站的公共目录 /public/static/
__LIBS__ --当前网站的公共目录 /public/static/libs/
__TMPL__ --当前模板主题目录 默认:/resources/default/web或wap
__ASSETS__ --当前模板主题的资源目录 /resources/[web或wap]/default/assets
__IMG__ --当前模板主题的图片资源目录 /resources/[web或wap]/default/assets/images
__CSS__ --当前模板主题的资源目录 /resources/[web或wap]/default/assets/css
__JS__ --会被替换成当前模板主题的资源目录 /resources/[web或wap]/default/assets/js
在PC模板中使用 __CSS__/css.css,就引用了 /resources/default/assets/css/css.css文件
在模板中使用 __JS__/js.js,就引用了 /resources/default/assets/js/js.css文件
全局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" rank="create_time" order="rand()" limit="0,22" cache="60"}隔60秒随机抽取
{JY:songs result="v" limit="12" order="create_time"}
result --自定义定义循环结果集变量名称例如:v,vo
limit --指定查询结果数量:如20 会 10,20 将会输出第10-20条 之间的数据
order --指定排序方式查询数据===按照收藏排序favtime,id 倒序排序id,下载排序downoad,点赞排序digg,缓存3600秒3600,随机rank(),
key --列表ID 注意调用时 直接使用{$i}即可,将会输出 1,2,3,4......
artist --遍历指定艺术家所有歌曲,属性出现必须指定值
album --遍历指定专辑所有歌曲,属性出现必须指定值
genre --遍历指定曲风下所有歌曲,属性出现必须指定值
uid --遍历指定会员下所有歌曲,属性出现必须指定值
pos --遍历指定推荐位下所有歌曲,属性出现必须指定值,多个推荐位将其值相加 pos="1"首页推荐, pos="2"列表推荐
page -1或任意字符,赋值后将会开启分页,对应page变量将会是,$xx['page']
id --输出指定id或多个id下的歌曲,例如:11或11,22,33,44
cache -缓存时间单位秒,强烈建议使用缓存,缓存一些网站不经常更新的数据以便提升访问速度
{$i} 循环排位
{$data['id']} 输出歌曲id
{$data['name']} 输出歌曲名称
{$data['name']|msubstr=0,5} - 名称 (字符控制len)
{$data['url']} 输出歌曲连接
{$data['down_url']} 输出歌曲下载连接
{$data['up_uid']} 输分享者id
{$data['up_uname']} 分享者昵称
{$data['user_url']} 分享者空间地址
{$data['album_id']} 输出专辑id
{$data['album_name']} 输出专辑名称
{$vdata['album_url']} 输出专辑连接
{$data['artist_id']} 输出艺术家id
{$data['artist_name']} 输出艺术家名称
{$data['artist_url']} 输出艺术家连接
{$data['genre_id']} 输出曲风id
{$vdata['genre_name']} 输出曲风名称
{$data['genre_url']} 输出曲风连接
{$data['cover_url']} 输出封面地址
{$vdata['download']} 下载次数
{$data['rater']} 评分值
{$data['listens']} 试听次数
{$data['favtimes']} 收藏次数
{$data['digg']} 点赞次数
{$data['create_time']} - 添加时间
{$data['update_time']} - 更新时间
{$data['extend']['bury']} -踩次数
{$data['extend']['server']} - 服务器
{$data['extend']['listen']} 歌曲地址
{$data['extend']['down']} 歌曲下载地址
{$data['extend']['word len=20']} - 文本歌词 (字符控制len)
{$data['extend']['lrc len=20']} - 动态歌词 (字符控制len)
{$data['extend']['sing']} - 原唱
{$data['extend']['lyrics']} - 作词
{$data['extend']['composer']} - 作曲
{$data['extend']['midi']} - 编曲
{$data['extend['disk']} - 网盘下载地址
{$data['extend['disk_pass']} - 网盘密码
{$data['extend['file_size']} - 文件大小
{$data['extend['bitrate']} - 文件
{$data['extend['bitrate']} -播放时长
{$data['extend['down_rule][coin]']} -下载所需金币
{$data['extend['down_rule][score]']} -下载所需积分
{$data['extend']['lrc']} ---歌词
下载所需用户组
extend[down_rule][group][] - 允许游客,允许普通会员,允许VIP会员,允许高级VIP会员
position[] - 网站推荐,歌曲推荐位,精品推荐,独家发布,火热舞曲,开场音乐
====待完善=====
分类页歌曲列表
共{$lv_total}首歌曲
分页{$lv_page}
循环输出歌曲数据集 调用方式:

{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>
=========播放页标签========
指定标签出12首歌曲{JY:songs result="v" tags="$g['id']" limit="12" order="listens"}
SEO歌曲名:{$meta_title}
歌曲名:{$data['name']}
喜欢{$data.likes}
赞:{$data.digg}
歌手:<a href="{$data['artist_url']}">{$data.artist_name}</a>
所属专辑:<a href="{$data['genre_url']}">{$data.genre_name}</a>
点击次数:{$data['listens']}

================artist 艺术家标签歌手数据调用==============
//推荐歌手
{JY:artist result="v" limit="11" order="hits"}
result 自定义定义循环结果集变量名称
limit 指定查询结果数量:如20 会 10,20 将会输出第10-20 之间的数据
order 指定递减排序方式查询数据
type 遍历指定类型下艺术家,属性出现必须指定值
id 输出指定id或多个id下的艺术家,例如:11或11,22,33,44
pos 遍历指定推荐位下所有艺术家,属性出现必须指定值
cache 缓存时间单位秒
{$v['url']} 歌手连接
{$v['name']} 歌手名称
{$v['cover_url']} 歌手封面
{$v['id']} 输出艺人id
{$v['name']} 输出艺人名称
{$v['url']} 输出艺人链接
{$v['type_id']} 输分类型id
{$v['type_name']} 类型名称
{$v['type_url']} 类型链接地址
{$v['region']} 输出所地区名称
{$v['hits']} 点击次数
{$v['favtimes']} 收藏次数
{$v['introduce']} 艺人描述
{$v['cover_url']} 艺术家封面地址
{$v['create_time']} 添加时间
{$v['update_time']} 更新时间
{/JY:artist}

======================专辑数据调用==============
//推荐专辑
更多{JY:url name='album')}
{JY:altype result="vo" id="1" limit="1"}{$vo['name']}{/JY:altype}专辑分类

{JY:album result="v" limit="12" order="position"}
result 自定义定义循环结果集变量名称
limit 指定查询结果数量:如20 会 10,20 将会输出第10-20条之间的数据
order 指定递减排序方式查询数据
artist 遍历指定艺术家下专辑,属性出现必须指定值
type 遍历指定定分类下专辑,属性出现必须指定值
id 输出指定id或多个id下的专辑,例如:11或11,22,33,44
pos 遍历指定推荐位下所有专辑,属性出现必须指定值
cache 缓存时间单位秒
{$v['artist_name']} 所属艺人
{$v['artist_url']} 艺人连接
{$v['type_name']} 所属类型
{$v['url']} 专辑连接地址
{$v['cover_url']} 封面地址
{$v['name']} 专辑名称
{$v['description']|msubstr=0,30} --专辑简介
{$v['company']} 唱片公司
{$v['hits']} 次浏览
{$v['create_time']|time_format='Y-m-d'} --发布时间
{$v['favtimes']} 收藏次
{$v['id']} 输出专辑id
{$v['name']} 输出专辑名称
{$v['url']} 输出专辑连接地址
{$v['type_id']} 输分类型id
{$v['type_uname']} 分享类型昵称
{$v['artist_id']} 输出所属艺术家id
{$v['artist_name']} 输出所属艺术家名称
{$v['artist_url']} 输出所属家艺术家连接
{$v['genre_id']} 输出所属曲风id
{$v['genre_name']} 输出所属曲风名称
{$v['genre_url']} 输出所属曲风家连接
{$v['company']} 输出所属唱片公司
{$v['pub_time']} 输出发行时间
{$v['hits']} 点击次数
{$v['favtimes']} 收藏次数
{$v['rater']} 评分值
{$v['likes']} 喜欢次数
{$v['introduce']} 专辑描述
{$v['cover_url']} 专辑封面地址
{$v['create_time']} 添加时间
{$v['update_time']} 更新时间
{$v['artist']} 艺术家标签
{/JY:album}
=================友情链接标签===========
{:hook('pageFooter', ['widget'=>'links'])}

=================tag 音乐标签===========
result 自定义定义循环结果集变量名称
limit 指定查询结果数量:如20 会 10,20 将会输出第10-20 之间的数据
order 指定递减排序方式查询数据
group 遍历指定父级分类下曲风,属性出现必须指定值
cache 缓存时间单位秒
{$v['id']} 输出标签id
{$v['name']} 输出标签名称
{$v['url']} 输出标签连接地址
{$v['count']} 输出标签下所有歌曲数
{$v['create_time']} 添加时间
{JY:tag result="v" 属性名称="属性值" limit="12" order="add_time"}
<li><{$v['name']}></li>
{/JY:tag}
=================genre 分类标签分类===========
result 自定义定义循环结果集变量名称
limit 指定查询结果数量:如20 会 10,20 将会输出第10-20 之间的数据
order 指定递减排序方式查询数据
pid 遍历指定父级分类下曲风,属性出现必须指定值
id 输出指定id或多个id下的曲风,例如:11或11,22,33,44
tree 设置为1或任意值 将会生成曲风树 ,子变量名称将会是$xxx【'_child'】 注意他是个数组
cache_time 缓存时间单位秒
{JY:genre result="vo" id="1" limit="1"}{$vo['name']}{/JY:genre}

{JY:genre result="vo" limit="20"}
{$v['id']} 输出曲风id
{$v['name']} 输出曲风名称
{$v['url']} 输出曲风连接地址
{$v['pid']} 输出父级id
{$v['description']} 曲风描述
{$v['cover_url']} 曲风封面地址
{$v['create_time']} 添加时间
{$v['update_time']} 更新时间
<a href="{$vo['url']}">{$vo['name']}</a>
{/JY:genre}
//底部导航
{JY:site result="v" limit="5" cache="86400"}
<a hidefocus="true" href="{$v['url']}" target="_blank">{$v['title']}</a>
{/JY:site}
=========member 会员标签========
result 自定义定义循环结果集变量名称
limit 指定查询结果数量:如20 会 10,20 将会输出第10-20 之间的数据
order 指定递减排序方式查询数据
cache 缓存时间单位秒
{$v['uid']} 输出会员id
{$v['nickname']} 输出会员名称
{$v['url']} 输出会员连接地址
{$v['avatar']} 会员头像地址
{$v['albums']} 创建专辑数量
{$v['songs']} 输出会员所有歌曲数
{$v['listens']} 输出会员所有歌曲试听数
{$v['follows']} 输出会员所有关注数
{$v['fans']} 输出会员所有粉丝数
{$v['sex']} 输出会员性别 0:男 1:女
{$v['birthday']} 输出会员生日
{$v['score']} 会员积分
{$v['coin']} 会员金币数
{$v['is_musician']} 是否音乐人
{$v['qq']} 输出会员qq
{$v['signature']} 输出会员个人签名
{$v['location']} 所在地
{$v['province']} 所在省
{$v['city']} 所在市
{$v['district']} 所在区
{$v['experience']} 用户经验值
{$v['login']} 登录次数
{$v['reg_ip']} 注册IP
{$v['last_login_ip']} 最后登录IP
{$v['last_login_time']} 最后登录时间
{$v['status']} 会员状态
{$v['cdkey']} 激活码
{$v['reg_time']} 添加时间
{JY:member result="v" 属性名称="属性值" limit="12" order="reg_time"}
<li>{$v['nickname']}</li>
{/JY:member}
=================nav一级导航===========
{JY:nav reault="nav"}
{eq name="nav.pid" value="0"}
<li class="t-nav {$nav.active ?= 'current' }">
导航连接{$nav.url}
{eq name='nav.target' value='1'}_top{$nav.id}{else/}_self{/eq}
导航名称{$nav.title}
</a>
</li>
{/eq}
{/JY:nav}

{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}
=================下一个标签/上一个标签===========
{JY:next result="c" name="album"}
<a>{$c['name']}</a>
....
{/JY:next}
name songs 字母 输出那个类型,可填参数:album,artist,member,genre,tag...
上一个标签
{JY:prev result="p" name="album" }
<a><{$p['name']}></a>
.....
{/JY:prev}
name songs 字母 输出那个类型,可填参数:album,artist,member,genre,tag...

=========count 统计标签========
{JY:count name="album" /}
name songs 不填写将会输出歌曲总量,可填参数:album,artist,member,genre,tag...
注意此标签 无需闭合 也就是不需要</JY:count>,仅仅输出数字


=================自己记录标签===========



=========首页标签========
//最新歌曲
{JY:songs result="v" order="create_time" limit="0,22"}
<ul {lt name="i" value="0"} class="ul"{/lt}>
<span class="icoc{$i}"></span><a href="{$v['url']}" onClick='return Listen(this.href);' target="play" title="{$v['name']}">{$v['name']}</a>
</ul>{/JY:songs}


//歌曲标签
{JY:tags result="v" limit="11" order="hits,create_time,id"}
<a href="{$v['url']}" target="_blank">{$v['name']|msubstr=0,30}</a>
{/JY:tags}

//顶歌曲
{JY:songs result="v" order="digg" limit="23,12"}
<ul>
<i class="icoc{$i}" v="{$v['id']}"></i><a href="{$v['url']}" onClick='return Listen(this.href);' target="play" title="{$v['name']}">{$v['name']}</a>
</ul>{/JY:songs}

//排行榜
{JY:songs result="lv" rank="fire" limit="12" order="create_time"}
<ul>
<i class="icoc{$i}" v="{$lv['id']}"></i><a href="{$lv['url']}" onClick='return Listen(this.href);' target="play" title="{$lv['name']}">{$lv['name']}</a>
</ul>{/JY:songs}

//下载排行榜
{JY:songs result="lv" rank="down" limit="12" order="create_time"}
<ul>
<i class="icoc{$i}" v="{$lv['id']}"></i><a href="{$lv['url']}" onClick='return Listen(this.href);' target="play" title="{$lv['name']}">{$lv['name']}</a>
</ul>{/JY:songs}

//收藏排行榜
{JY:songs result="lv" rank="fav" limit="12" order="create_time"}
<ul>
<i class="icoc{$i}" v="{$lv['id']}"></i><a href="{$lv['url']}" onClick='return Listen(this.href);' target="play" title="{$lv['name']}">{$lv['name']}</a>
</ul>{/JY:songs}




//上一曲/下一曲
{JY:next name="songs"}
<a class="btn_1" href="{$next['url']}" class="btn pull-right jp-next">下一曲</a>
{/JY:next}
{JY:prev name="songs"}
<a class="btn_1"href="{$prev['url']}" class="btn pull-right jp-previous">上一曲</a>
{/JY:prev}
//分享达人
{JY:member result="v" limit="1" order="songs"}
<li><a href="{$v['url']}" onClick='return Listen(this.href);' target="_blank" title="{$v['nickname']}"><img src="{$v['avatar']}"><span class="txt">{$v['nickname']}</span></a></li>
{/JY:member}
=========歌曲标签========
//歌曲标签
{notempty name="data['tags']"}
{JY:loop name="data['tags']" res="tag"}
<a href="{$tag['url']}">{$tag.name}</a>
{/JY:loop}
{/notempty}

//相似歌手歌曲:
{JY:songs result="v" artist="$data['artist_id']" limit="10"}
<li>
<a href="{$v['url']}" title="{$v['name']}" class="goto_songs">{$v['name']}</a>
<a href="{$v['url']}" title="{$v['name']}" class="play_icon"></a>
</li>
{/JY:songs}

//相似栏目歌曲
{JY:songs result="v" genre="$data['genre_id']" limit="10"}
<li>
<a href="{$v['url']}" title="{$v['name']}" class="goto_songs">{$v['name']}</a>
<a href="{$v['url']}" title="{$v['name']}" class="play_icon"></a>
</li>
{/JY:songs}


关于网站
{JY:site result="v" limit="5" cache="86400"}

<li><a class="tr_delay_hover" href="{$v['url']}">{$v['title']}</a></li>
{/JY:site}
帮助中心
{JY:site type="help" result="v" limit="5" cache="86400"}
<li><a class="tr_delay_hover" href="{$v['url']}">{$v['title']}</a></li>
{/JY:site}
=====模板布局=====
模板继承

Thinkphp手册说明如下:模板继承是一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上 层。模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并 且其中定义相关的区块(block),然后继承(extend)该基础模板的子模板中就可以对基础模板中定义 的区块进行重载

因此,模板继承的优势其实是设计基础模板中的区块(block)和子模板中替换这些区块。

每个区块由 标签组成。

下面就是基础模板中的一个典型的区块设计(用于设计网站标 题):


{block name="title"}<title> 网站标题 </title>{/block}


block标签必须指定name属性来标识当前区块的名称,这个标识在当前模板中应该是唯一的,block标签 中可以包含任何模板内容,包括其他标签和变量,例如:

{block name="title"}<title>{$web_title}</title>{/block}
你甚至还可以在区块中加载外部文件:

{block name="include"}{include file="public/header" /}{/block}
一个模板中可以定义任意多个名称标识不重复的区块,例如下面定义了一个 Public_common.html 基础模板:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<block name="title"><title> 标题 </title></block>
</head>
<body>
<block name="head"> 导航菜单 </block>
<block name="left"> 左边分栏 </block>
<block name="content"> 主内容 </block>
<block name="right"> 右边分栏</block>
<block name="footer"> 底部 </block>
</body>
</html>
然后我们在子模板(其实是当前模块的模板)中使用继承:

{extend name="public/common" /}
{block name="title"}<title>{$web_title}</title>{/block}

{block name="head" }
<a href="/">首页</a>
<a href="{JY:url name='artist'}">艺术家</a>
...
{/block}

{block name="left"}
左侧内容
{/block}

{block name="content"}
<ul>
{JY:loop name="list" result="song">
<li><a href="" >{$song['name']}</a></li>
{/JY:loop}
</ul>
{/block}

{block name="right"}
右侧内容
{/block}

{block name="footer"}
底部内容
{/block}
可以看到,子模板中使用了extend标签定义需要继承的模板

当然,你完全可以在public_common.html 基础模板里填写 共用的头部、底部、 右侧 、左侧或者其他共同用到的内容, 这样在你的子模板里 不需要再定义对应的区块,他会自动继承public_common.html 基础模板里的内容。

或者使用 标签来再次引用一个共用模板,调用方式如下

{extend name="public/common" /}
{block name="title">{$title}</block}

{block name="head" }
{include file="public/header" /}
{/block}

{block name="left"}
{include file="public/left" /}
{/block}

{block name="content"}
<ul>
{JY:loop name="list" result="song"}
<li><a href="" >{$song['name']}</a></li>
{/JY:loop}
</ul>
{/block}

{block name="right"}
{include file="public/right" /}
{/block}

{block name="footer"}
{include file="public/bottom" /}
{/block}

«Newer      Older»
Comment:
Name:

Back to home

Subscribe | Register | Login | N