# 前端新增代碼
* [ ] `介紹` 由于有些功能尚未開發,在原有基礎上新加的功能,用法詳見模板使用。
*****
## banner在子頁面下公用父級banner圖。
```
<?php
// 拿到當前欄目的名
$thisTageName = \think\Config::get("cms.title");
// 拿到父欄目的名
// 判斷是否為單頁
if(isset($__PAGE__)){
// 獲得單頁的父級欄目數據,不一定是頂級
$pageData = outlinkFindChannel($__PAGE__['url']);
// 判斷它是否有父級ID
$navId = $pageData['parent_id']?$pageData['parent_id']:$pageData['id'];
//判斷是否是自定義表單頁
}else if(isset($__DIYFORM__)){
$diyFromData = outlinkFindChannel($__DIYFORM__['postUrl']);
$navId = $diyFromData['parent_id']?$diyFromData['parent_id']:$diyFromData['id'];
// 判斷是否是內頁,
// 兼容一級欄目banner沒填,只填了二級欄目時,內頁找不到對應父級欄目banner的問題
}else if(isset($__ARCHIVES__)){
$navId = getParentChannel($__ARCHIVES__['channel_id'])['id'];
}else{
$navId = $__CHANNEL__['parent_id'] == 0?$__CHANNEL__['id']:$__CHANNEL__['parent_id'];
}
$fatherName = getParentChannel($navId);
// 將bannerKey默認設置為父欄目的名
$bannerKey = $fatherName['name'];
?>
<!--
判斷當前欄目是否有banner,如果有就將bannerKey設置為當前欄目的名
-->
{cms:blocklist id="block" name="$thisTageName" row="1"}
<?php $bannerKey = $thisTageName; ?>
{/cms:blocklist}
<div class="banner swiper-container">
<div class="banner_wrap swiper-wrapper">
{cms:blocklist id="block" name="$bannerKey" row="5" orderby="weigh" orderway="asc"}
<a href="{$block.url}" class="banner_link swiper-slide">
<img src="{$block.image}" alt="">
</a>
{/cms:blocklist}
</div>
<div id="pages_switer"></div>
</div>
<script>
var BannerSwiper = new Swiper('.swiper-container', {
pagination: {
el: '#pages_switer',
clickable: true,
},
autoplay: {
delay: 5000,
disableOnInteraction: false,
},
autoHeight: true,
});
// 看不見就停止輪播
window.onscroll = function () {
var pageHeght = window.scrollY || window.pageYOffset;
if (pageHeght > BannerSwiper.wrapperEl.clientHeight) {
BannerSwiper.autoplay.stop();
} else if (pageHeght <= BannerSwiper.wrapperEl.clientHeight) {
BannerSwiper.autoplay.start();
}
}
</script>
```
- 介紹
- 標簽手冊
- 全局標簽
- block標簽
- config標簽
- execute標簽
- query標簽
- breadcrumb標簽
- blocklist標簽
- 欄目標簽
- channellist標簽
- channel標簽
- nav標簽
- 文章標簽
- arclist標簽
- archives標簽
- prevnext標簽
- 專題
- speciallist標簽
- special標簽
- 公共參數
- common參數
- include引用
- 單頁
- spagelist標簽
- page標簽
- spageinfo標簽
- 特殊標簽
- tagslist標簽
- tags標簽
- commentlist標簽
- commentinfo標簽
- diyform標簽
- 模板特殊標簽
- 列表頁面
- pagelist標簽
- pageinfo標簽
- pagefilter標簽
- pageorder標簽
- pagelist的相關排序
- 新功能
- 后端新增代碼
- 模板使用
- 二級導航功能
- 共用banner功能
- 后臺站點配置添加編輯器