This commit is contained in:
make
2025-12-31 00:49:32 +08:00
parent ae57b68f99
commit eb8c097777
709 changed files with 39727 additions and 1041 deletions

View File

@@ -0,0 +1,15 @@
<section class="{$TpStyle.dom_prefix}-b1-wrap">
<a href="/detail/{$arrVideoTuijian.0.v_id}.html" class="{$TpStyle.dom_prefix}-b1-link">
<figure class="{$TpStyle.dom_prefix}-b1-figure">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideoTuijian.0.v_pic}"
alt="{$arrVideoTuijian.0.v_name}"
class="{$TpStyle.dom_prefix}-b1-img">
<figcaption class="{$TpStyle.dom_prefix}-b1-cap">
<h2>{$arrVideoTuijian.0.v_name}</h2>
<p>热播精选 · 高清极速观看</p>
</figcaption>
</figure>
</a>
</section>

View File

@@ -0,0 +1,14 @@
<article class="{$TpStyle.dom_prefix}-b2-box">
<a href="/detail/{$arrVideoTuijian.1.v_id}.html" class="{$TpStyle.dom_prefix}-b2-click">
<div class="{$TpStyle.dom_prefix}-b2-left">
<h3>{$arrVideoTuijian.1.v_name}</h3>
<span>最新热播上线,立即观看</span>
</div>
<div class="{$TpStyle.dom_prefix}-b2-right">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideoTuijian.1.v_pic}"
class="{$TpStyle.dom_prefix}-b2-thumb"
alt="{$arrVideoTuijian.1.v_name}">
</div>
</a>
</article>

View File

@@ -0,0 +1,15 @@
<section class="{$TpStyle.dom_prefix}-b3-hscroll">
<ul class="{$TpStyle.dom_prefix}-b3-list">
{volist name="arrVideoTuijian" id="vo" offset="0" length="3"}
<li class="{$TpStyle.dom_prefix}-b3-item">
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-b3-a">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
class="{$TpStyle.dom_prefix}-b3-img"
alt="{$vo.v_name}">
<p class="{$TpStyle.dom_prefix}-b3-title">{$vo.v_name}</p>
</a>
</li>
{/volist}
</ul>
</section>

View File

@@ -0,0 +1,8 @@
<header class="{$TpStyle.dom_prefix}-b4-strip">
<a href="/detail/{$arrVideoTuijian.2.v_id}.html">
<div class="{$TpStyle.dom_prefix}-b4-inner">
<span class="{$TpStyle.dom_prefix}-b4-icon">🔥</span>
<small>{$arrVideoTuijian.2.v_name} 正在热播</small>
</div>
</a>
</header>

View File

@@ -0,0 +1,14 @@
<article class="{$TpStyle.dom_prefix}-b5-box">
<a href="/detail/{$arrVideoTuijian.3.v_id}.html">
<div class="{$TpStyle.dom_prefix}-b5-imgwrap">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideoTuijian.3.v_pic}"
class="{$TpStyle.dom_prefix}-b5-img"
alt="{$arrVideoTuijian.3.v_name}">
<footer class="{$TpStyle.dom_prefix}-b5-foot">
<h4>{$arrVideoTuijian.3.v_name}</h4>
<span>支持手机 / 平板 / 电视播放</span>
</footer>
</div>
</a>
</article>

View File

@@ -0,0 +1,261 @@
<nav class="{$TpStyle.dom_prefix}-bc {$TpStyle.dom_prefix}-bc-a {$pageCfg.breadcrumb.class|default=''} {$TpStyle.dom_prefix}-v{$intVariant}">
{// ================= Variant 0OL ================= }
{if $intVariant == 0}
<ol class="{$TpStyle.dom_prefix}-bc-ol ">
{volist name="arrBreadcrumb" id="node"}
<li>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<span>{$node.title}</span>
{/if}
</li>
{/volist}
</ol>
{// ================= Variant 1UL ================= }
{elseif $intVariant == 1}
<ul class="{$TpStyle.dom_prefix}-bc-ul ">
{volist name="arrBreadcrumb" id="node"}
<li>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<strong>{$node.title}</strong>
{/if}
</li>
{/volist}
</ul>
{// ================= Variant 2DIV Flow ================= }
{elseif $intVariant == 2}
<div class="{$TpStyle.dom_prefix}-bc-flow ">
{volist name="arrBreadcrumb" id="node" key="i"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<em>{$node.title}</em>
{/if}
{if $i < count($arrBreadcrumb)} &gt; {/if}
{/volist}
</div>
{// ================= Variant 3P ================= }
{elseif $intVariant == 3}
<p class="{$TpStyle.dom_prefix}-bc-p ">
{volist name="arrBreadcrumb" id="node" key="i"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
{if $i < count($arrBreadcrumb)} / {/if}
{/volist}
</p>
{// ================= Variant 4SPAN ================= }
{elseif $intVariant == 4}
<span class="{$TpStyle.dom_prefix}-bc-span ">
{volist name="arrBreadcrumb" id="node"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
{/volist}
</span>
{// ================= Variant 5NAV ================= }
{elseif $intVariant == 5}
<nav class="{$TpStyle.dom_prefix}-bc-nav ">
{volist name="arrBreadcrumb" id="node"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<span>{$node.title}</span>
{/if}
{/volist}
</nav>
{// ================= Variant 6ADDRESS ================= }
{elseif $intVariant == 6}
<address class="{$TpStyle.dom_prefix}-bc-address ">
{volist name="arrBreadcrumb" id="node"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
{/volist}
</address>
{// ================= Variant 7SECTION ================= }
{elseif $intVariant == 7}
<section class="{$TpStyle.dom_prefix}-bc-section ">
{volist name="arrBreadcrumb" id="node"}
<div>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<strong>{$node.title}</strong>
{/if}
</div>
{/volist}
</section>
{// ================= Variant 8ARTICLE ================= }
{elseif $intVariant == 8}
<article class="{$TpStyle.dom_prefix}-bc-article ">
{volist name="arrBreadcrumb" id="node"}
<header>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</header>
{/volist}
</article>
{// ================= Variant 9DL ================= }
{elseif $intVariant == 9}
<dl class="{$TpStyle.dom_prefix}-bc-dl ">
{volist name="arrBreadcrumb" id="node"}
<dd>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</dd>
{/volist}
</dl>
{// ================= Variant 10H6 ================= }
{elseif $intVariant == 10}
<h6 class="{$TpStyle.dom_prefix}-bc-h ">
{volist name="arrBreadcrumb" id="node"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
{/volist}
</h6>
{// ================= Variant 11STRONG ================= }
{elseif $intVariant == 11}
<div class="{$TpStyle.dom_prefix}-bc-strong ">
{volist name="arrBreadcrumb" id="node"}
<strong>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</strong>
{/volist}
</div>
{// ================= Variant 12EM ================= }
{elseif $intVariant == 12}
<div class="{$TpStyle.dom_prefix}-bc-em ">
{volist name="arrBreadcrumb" id="node"}
<em>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</em>
{/volist}
</div>
{// ================= Variant 13INLINE LIST ================= }
{elseif $intVariant == 13}
<ul class="{$TpStyle.dom_prefix}-bc-inline ">
{volist name="arrBreadcrumb" id="node"}
<li>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</li>
{/volist}
</ul>
{// ================= Variant 14SMALL ================= }
{elseif $intVariant == 14}
<p class="{$TpStyle.dom_prefix}-bc-small ">
{volist name="arrBreadcrumb" id="node"}
<small>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</small>
{/volist}
</p>
{// ================= Variant 15SEO TEXT ================= }
{elseif $intVariant == 15}
<div class="{$TpStyle.dom_prefix}-bc-seo ">
当前位置:
{volist name="arrBreadcrumb" id="node"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
{/volist}
</div>
{// ================= Variant 16FIGURE ================= }
{elseif $intVariant == 16}
<figure class="{$TpStyle.dom_prefix}-bc-fig ">
<figcaption>
{volist name="arrBreadcrumb" id="node"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
{/volist}
</figcaption>
</figure>
{// ================= Variant 17MARK ================= }
{elseif $intVariant == 17}
<div class="{$TpStyle.dom_prefix}-bc-mark ">
{volist name="arrBreadcrumb" id="node"}
<mark>{$node.title}</mark>
{/volist}
</div>
{// ================= Variant 18TIME ================= }
{elseif $intVariant == 18}
<div class="{$TpStyle.dom_prefix}-bc-time ">
<time>路径:</time>
{volist name="arrBreadcrumb" id="node"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
{/volist}
</div>
{// ================= Variant 19DEFAULT ================= }
{else}
<div class="{$TpStyle.dom_prefix}-bc-default ">
{volist name="arrBreadcrumb" id="node"}
<span>{$node.title}</span>
{/volist}
</div>
{/if}
</nav>

View File

@@ -0,0 +1,167 @@
<nav class="{$TpStyle.dom_prefix}-bc {$TpStyle.dom_prefix}-bc-b {$TpStyle.dom_prefix}-v{$intVariant} {$pageCfg.breadcrumb.class|default=''}">
{// ================= Variant 0Block UL ================= }
{if $intVariant == 0}
<ul class="{$TpStyle.dom_prefix}-bc-block">
{volist name="arrBreadcrumb" id="node"}
<li>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<span>{$node.title}</span>
{/if}
</li>
{/volist}
</ul>
{// ================= Variant 1DIV List ================= }
{elseif $intVariant == 1}
<div class="{$TpStyle.dom_prefix}-bc-div">
{volist name="arrBreadcrumb" id="node"}
<div>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<strong>{$node.title}</strong>
{/if}
</div>
{/volist}
</div>
{// ================= Variant 2SECTION ================= }
{elseif $intVariant == 2}
<section class="{$TpStyle.dom_prefix}-bc-section">
{volist name="arrBreadcrumb" id="node"}
<section>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</section>
{/volist}
</section>
{// ================= Variant 3ARTICLE ================= }
{elseif $intVariant == 3}
<article class="{$TpStyle.dom_prefix}-bc-article">
{volist name="arrBreadcrumb" id="node"}
<article>
<header>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</header>
</article>
{/volist}
</article>
{// ================= Variant 4DL Block ================= }
{elseif $intVariant == 4}
<dl class="{$TpStyle.dom_prefix}-bc-dl">
{volist name="arrBreadcrumb" id="node"}
<dd>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</dd>
{/volist}
</dl>
{// ================= Variant 5NAV Stack ================= }
{elseif $intVariant == 5}
<nav class="{$TpStyle.dom_prefix}-bc-stack">
{volist name="arrBreadcrumb" id="node"}
<div>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<em>{$node.title}</em>
{/if}
</div>
{/volist}
</nav>
{// ================= Variant 6P Block ================= }
{elseif $intVariant == 6}
<div class="{$TpStyle.dom_prefix}-bc-pblock">
{volist name="arrBreadcrumb" id="node"}
<p>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</p>
{/volist}
</div>
{// ================= Variant 7H List ================= }
{elseif $intVariant == 7}
<div class="{$TpStyle.dom_prefix}-bc-hlist">
{volist name="arrBreadcrumb" id="node"}
<h6>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</h6>
{/volist}
</div>
{// ================= Variant 8FIGURE ================= }
{elseif $intVariant == 8}
<figure class="{$TpStyle.dom_prefix}-bc-fig">
{volist name="arrBreadcrumb" id="node"}
<figcaption>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</figcaption>
{/volist}
</figure>
{// ================= Variant 9ASIDE ================= }
{elseif $intVariant == 9}
<aside class="{$TpStyle.dom_prefix}-bc-aside">
{volist name="arrBreadcrumb" id="node"}
<div>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</div>
{/volist}
</aside>
{// ================= Variant 1018语义混合 ================= }
{elseif $intVariant >= 10 && $intVariant <= 18}
<div class="{$TpStyle.dom_prefix}-bc-mix">
{volist name="arrBreadcrumb" id="node"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<strong>{$node.title}</strong>
{/if}
{/volist}
</div>
{// ================= Variant 19DEFAULT ================= }
{else}
<div class="{$TpStyle.dom_prefix}-bc-default">
{volist name="arrBreadcrumb" id="node"}
<span>{$node.title}</span>
{/volist}
</div>
{/if}
</nav>

View File

@@ -0,0 +1,181 @@
<nav class="{$TpStyle.dom_prefix}-bc {$TpStyle.dom_prefix}-bc-c {$TpStyle.dom_prefix}-v{$intVariant} {$pageCfg.breadcrumb.class|default=''}">
{// ================= Variant 0纯文本 span ================= }
{if $intVariant == 0}
<span class="{$TpStyle.dom_prefix}-bc-text">
{volist name="arrBreadcrumb" id="node" key="i"}
{$node.title}{if $i < count($arrBreadcrumb)} &gt; {/if}
{/volist}
</span>
{// ================= Variant 1文本 + 链接混合 ================= }
{elseif $intVariant == 1}
<p class="{$TpStyle.dom_prefix}-bc-text">
{volist name="arrBreadcrumb" id="node" key="i"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
{if $i < count($arrBreadcrumb)} / {/if}
{/volist}
</p>
{// ================= Variant 2small ================= }
{elseif $intVariant == 2}
<small class="{$TpStyle.dom_prefix}-bc-small">
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</small>
{// ================= Variant 3SEO 句子 ================= }
{elseif $intVariant == 3}
<p class="{$TpStyle.dom_prefix}-bc-sentence">
当前所在位置:
{volist name="arrBreadcrumb" id="node" key="i"}
{$node.title}{if $i < count($arrBreadcrumb)} {/if}
{/volist}
</p>
{// ================= Variant 4time + 文本 ================= }
{elseif $intVariant == 4}
<time class="{$TpStyle.dom_prefix}-bc-time">
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</time>
{// ================= Variant 5strong 强调 ================= }
{elseif $intVariant == 5}
<strong class="{$TpStyle.dom_prefix}-bc-strong">
{volist name="arrBreadcrumb" id="node" key="i"}
{$node.title}{if $i < count($arrBreadcrumb)} / {/if}
{/volist}
</strong>
{// ================= Variant 6em 斜体 ================= }
{elseif $intVariant == 6}
<em class="{$TpStyle.dom_prefix}-bc-em">
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</em>
{// ================= Variant 7address ================= }
{elseif $intVariant == 7}
<address class="{$TpStyle.dom_prefix}-bc-address">
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</address>
{// ================= Variant 8blockquote ================= }
{elseif $intVariant == 8}
<blockquote class="{$TpStyle.dom_prefix}-bc-quote">
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</blockquote>
{// ================= Variant 9正文段落 ================= }
{elseif $intVariant == 9}
<p class="{$TpStyle.dom_prefix}-bc-paragraph">
本页面内容来源于
{volist name="arrBreadcrumb" id="node" key="i"}
{$node.title}{if $i < count($arrBreadcrumb)} · {/if}
{/volist}
</p>
{// ================= Variant 10span + a 混合 ================= }
{elseif $intVariant == 10}
<span class="{$TpStyle.dom_prefix}-bc-mix">
{volist name="arrBreadcrumb" id="node"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<span>{$node.title}</span>
{/if}
{/volist}
</span>
{// ================= Variant 11SEO 前缀 ================= }
{elseif $intVariant == 11}
<p class="{$TpStyle.dom_prefix}-bc-prefix">
您当前浏览的是:
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</p>
{// ================= Variant 12H6 ================= }
{elseif $intVariant == 12}
<h6 class="{$TpStyle.dom_prefix}-bc-h6">
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</h6>
{// ================= Variant 13code ================= }
{elseif $intVariant == 13}
<code class="{$TpStyle.dom_prefix}-bc-code">
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</code>
{// ================= Variant 14kbd ================= }
{elseif $intVariant == 14}
<kbd class="{$TpStyle.dom_prefix}-bc-kbd">
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</kbd>
{// ================= Variant 15SEO 长句 ================= }
{elseif $intVariant == 15}
<p class="{$TpStyle.dom_prefix}-bc-long">
本页面为
{volist name="arrBreadcrumb" id="node" key="i"}
{$node.title}{if $i < count($arrBreadcrumb)} {/if}
{/volist}
相关内容展示
</p>
{// ================= Variant 16mark ================= }
{elseif $intVariant == 16}
<p class="{$TpStyle.dom_prefix}-bc-mark">
{volist name="arrBreadcrumb" id="node"}
<mark>{$node.title}</mark>
{/volist}
</p>
{// ================= Variant 17inline text ================= }
{elseif $intVariant == 17}
<span class="{$TpStyle.dom_prefix}-bc-inline">
{volist name="arrBreadcrumb" id="node" key="i"}
{$node.title}{if $i < count($arrBreadcrumb)} , {/if}
{/volist}
</span>
{// ================= Variant 18footer ================= }
{elseif $intVariant == 18}
<footer class="{$TpStyle.dom_prefix}-bc-footer">
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</footer>
{// ================= Variant 19默认 ================= }
{else}
<div class="{$TpStyle.dom_prefix}-bc-default">
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</div>
{/if}
</nav>

View File

@@ -0,0 +1,209 @@
<nav class="{$TpStyle.dom_prefix}-bc {$TpStyle.dom_prefix}-bc-d {$TpStyle.dom_prefix}-v{$intVariant} {$pageCfg.breadcrumb.class|default=''}">
{// ================= Variant 0Card UL ================= }
{if $intVariant == 0}
<ul class="{$TpStyle.dom_prefix}-bc-card">
{volist name="arrBreadcrumb" id="node"}
<li>
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<span>{$node.title}</span>
{/if}
</li>
{/volist}
</ul>
{// ================= Variant 1Pill Links ================= }
{elseif $intVariant == 1}
<div class="{$TpStyle.dom_prefix}-bc-pill">
{volist name="arrBreadcrumb" id="node"}
{if !empty($node.url)}
<a href="{$node.url}" class="pill">{$node.title}</a>
{else /}
<span class="pill active">{$node.title}</span>
{/if}
{/volist}
</div>
{// ================= Variant 2Step Bar ================= }
{elseif $intVariant == 2}
<div class="{$TpStyle.dom_prefix}-bc-step">
{volist name="arrBreadcrumb" id="node" key="i"}
<div class="step {if empty($node.url)}active{/if}">
{$node.title}
</div>
{/volist}
</div>
{// ================= Variant 3Badge ================= }
{elseif $intVariant == 3}
<div class="{$TpStyle.dom_prefix}-bc-badge">
{volist name="arrBreadcrumb" id="node"}
<span class="badge">
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</span>
{/volist}
</div>
{// ================= Variant 4Box ================= }
{elseif $intVariant == 4}
<div class="{$TpStyle.dom_prefix}-bc-box">
{volist name="arrBreadcrumb" id="node"}
<div class="box-item">
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<strong>{$node.title}</strong>
{/if}
</div>
{/volist}
</div>
{// ================= Variant 5Inline Card ================= }
{elseif $intVariant == 5}
<div class="{$TpStyle.dom_prefix}-bc-inline-card">
{volist name="arrBreadcrumb" id="node"}
<span class="card">
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
{$node.title}
{/if}
</span>
{/volist}
</div>
{// ================= Variant 6Panel ================= }
{elseif $intVariant == 6}
<section class="{$TpStyle.dom_prefix}-bc-panel">
<header>当前位置</header>
<div class="panel-body">
{volist name="arrBreadcrumb" id="node"}
{if !empty($node.url)}
<a href="{$node.url}">{$node.title}</a>
{else /}
<span>{$node.title}</span>
{/if}
{/volist}
</div>
</section>
{// ================= Variant 7Tab ================= }
{elseif $intVariant == 7}
<div class="{$TpStyle.dom_prefix}-bc-tab">
{volist name="arrBreadcrumb" id="node"}
<div class="tab {if empty($node.url)}active{/if}">
{$node.title}
</div>
{/volist}
</div>
{// ================= Variant 8Grid ================= }
{elseif $intVariant == 8}
<div class="{$TpStyle.dom_prefix}-bc-grid">
{volist name="arrBreadcrumb" id="node"}
<div class="grid-item">
{$node.title}
</div>
{/volist}
</div>
{// ================= Variant 9Highlight ================= }
{elseif $intVariant == 9}
<p class="{$TpStyle.dom_prefix}-bc-highlight">
{volist name="arrBreadcrumb" id="node"}
<span>{$node.title}</span>
{/volist}
</p>
{// ================= Variant 10Tag ================= }
{elseif $intVariant == 10}
<div class="{$TpStyle.dom_prefix}-bc-tag">
{volist name="arrBreadcrumb" id="node"}
<i class="tag">{$node.title}</i>
{/volist}
</div>
{// ================= Variant 11Shadow Card ================= }
{elseif $intVariant == 11}
<div class="{$TpStyle.dom_prefix}-bc-shadow">
{volist name="arrBreadcrumb" id="node"}
<div class="shadow-item">
{$node.title}
</div>
{/volist}
</div>
{// ================= Variant 12List Card ================= }
{elseif $intVariant == 12}
<ol class="{$TpStyle.dom_prefix}-bc-list-card">
{volist name="arrBreadcrumb" id="node"}
<li>{$node.title}</li>
{/volist}
</ol>
{// ================= Variant 13Accent ================= }
{elseif $intVariant == 13}
<div class="{$TpStyle.dom_prefix}-bc-accent">
{volist name="arrBreadcrumb" id="node"}
<span>{$node.title}</span>
{/volist}
</div>
{// ================= Variant 14Wrap ================= }
{elseif $intVariant == 14}
<div class="{$TpStyle.dom_prefix}-bc-wrap">
{volist name="arrBreadcrumb" id="node"}
<div class="wrap-item">{$node.title}</div>
{/volist}
</div>
{// ================= Variant 15Card Header ================= }
{elseif $intVariant == 15}
<header class="{$TpStyle.dom_prefix}-bc-header">
{volist name="arrBreadcrumb" id="node"}
<span>{$node.title}</span>
{/volist}
</header>
{// ================= Variant 16Notice ================= }
{elseif $intVariant == 16}
<div class="{$TpStyle.dom_prefix}-bc-notice">
<strong>位置:</strong>
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</div>
{// ================= Variant 17Rounded ================= }
{elseif $intVariant == 17}
<div class="{$TpStyle.dom_prefix}-bc-rounded">
{volist name="arrBreadcrumb" id="node"}
<span class="round">{$node.title}</span>
{/volist}
</div>
{// ================= Variant 18Soft Card ================= }
{elseif $intVariant == 18}
<div class="{$TpStyle.dom_prefix}-bc-soft">
{volist name="arrBreadcrumb" id="node"}
<span>{$node.title}</span>
{/volist}
</div>
{// ================= Variant 19Default ================= }
{else}
<div class="{$TpStyle.dom_prefix}-bc-default">
{volist name="arrBreadcrumb" id="node"}
{$node.title}
{/volist}
</div>
{/if}
</nav>

View File

@@ -0,0 +1,20 @@
{assign name="intVariant" value="$pageCfg.breadcrumb.variant"}
{switch $pageCfg.breadcrumb.layout}
{case value="A"}
{include file="module/breadcrumb/breadcrumb_A" /}
{/case}
{case value="B"}
{include file="module/breadcrumb/breadcrumb_B" /}
{/case}
{case value="C"}
{include file="module/breadcrumb/breadcrumb_C" /}
{/case}
{case value="D"}
{include file="module/breadcrumb/breadcrumb_D" /}
{/case}
{/switch}

View File

@@ -0,0 +1,10 @@
<section class="{$TpStyle.dom_prefix}-c1-wrap">
<h3 class="{$TpStyle.dom_prefix}-c1-title">分类导航</h3>
<ul class="{$TpStyle.dom_prefix}-c1-tags">
<li><a href="/list/1.html"><span>电影</span></a></li>
<li><a href="/list/2.html"><span>电视剧</span></a></li>
<li><a href="/list/3.html"><span>综艺</span></a></li>
<li><a href="/list/4.html"><span>动漫</span></a></li>
</ul>
</section>

View File

@@ -0,0 +1,10 @@
<div class="{$TpStyle.dom_prefix}-c2-area">
<header class="{$TpStyle.dom_prefix}-c2-hd">浏览分类</header>
<div class="{$TpStyle.dom_prefix}-c2-btnbox">
<a href="/list/1.html" class="{$TpStyle.dom_prefix}-c2-btn">电影</a>
<a href="/list/2.html" class="{$TpStyle.dom_prefix}-c2-btn">电视剧</a>
<a href="/list/3.html" class="{$TpStyle.dom_prefix}-c2-btn">综艺</a>
<a href="/list/4.html" class="{$TpStyle.dom_prefix}-c2-btn">动漫</a>
</div>
</div>

View File

@@ -0,0 +1,22 @@
<section class="{$TpStyle.dom_prefix}-c3-box">
<h3 class="{$TpStyle.dom_prefix}-c3-tit">影片分类</h3>
<div class="{$TpStyle.dom_prefix}-c3-grid">
<a href="/list/1.html" class="{$TpStyle.dom_prefix}-c3-item">
<div class="{$TpStyle.dom_prefix}-c3-ico">🎬</div>
<p>电影</p>
</a>
<a href="/list/2.html" class="{$TpStyle.dom_prefix}-c3-item">
<div class="{$TpStyle.dom_prefix}-c3-ico">📺</div>
<p>电视剧</p>
</a>
<a href="/list/3.html" class="{$TpStyle.dom_prefix}-c3-item">
<div class="{$TpStyle.dom_prefix}-c3-ico">🎤</div>
<p>综艺</p>
</a>
<a href="/list/4.html" class="{$TpStyle.dom_prefix}-c3-item">
<div class="{$TpStyle.dom_prefix}-c3-ico"></div>
<p>动漫</p>
</a>
</div>
</section>

View File

@@ -0,0 +1,8 @@
<nav class="{$TpStyle.dom_prefix}-c4-nav">
<ul class="{$TpStyle.dom_prefix}-c4-list">
<li><a href="/list/1.html">电影</a></li>
<li><a href="/list/2.html">电视剧</a></li>
<li><a href="/list/3.html">综艺</a></li>
<li><a href="/list/4.html">动漫</a></li>
</ul>
</nav>

View File

@@ -0,0 +1,39 @@
<article class="{$TpStyle.dom_prefix}-c5-section">
<header class="{$TpStyle.dom_prefix}-c5-hd">
<span>内容分类</span>
</header>
<div class="{$TpStyle.dom_prefix}-c5-wrap">
<a href="/list/1.html" class="{$TpStyle.dom_prefix}-c5-row">
<div class="{$TpStyle.dom_prefix}-c5-l">🎬</div>
<div class="{$TpStyle.dom_prefix}-c5-r">
<b>电影</b>
<p>热门大片 / 最新院线</p>
</div>
</a>
<a href="/list/2.html" class="{$TpStyle.dom_prefix}-c5-row">
<div class="{$TpStyle.dom_prefix}-c5-l">📺</div>
<div class="{$TpStyle.dom_prefix}-c5-r">
<b>电视剧</b>
<p>精品好剧持续更新</p>
</div>
</a>
<a href="/list/3.html" class="{$TpStyle.dom_prefix}-c5-row">
<div class="{$TpStyle.dom_prefix}-c5-l">🎤</div>
<div class="{$TpStyle.dom_prefix}-c5-r">
<b>综艺</b>
<p>真人秀 / 娱乐节目合集</p>
</div>
</a>
<a href="/list/4.html" class="{$TpStyle.dom_prefix}-c5-row">
<div class="{$TpStyle.dom_prefix}-c5-l"></div>
<div class="{$TpStyle.dom_prefix}-c5-r">
<b>动漫</b>
<p>热血番剧 / 国漫精品</p>
</div>
</a>
</div>
</article>

View File

@@ -0,0 +1,99 @@
<article class="{$TpStyle.dom_prefix}-d1-wrap">
{// 顶部基本信息 }
<header class="{$TpStyle.dom_prefix}-d1-hd">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"
alt="{$arrVideo.v_name}"
class="{$TpStyle.dom_prefix}-d1-cover">
<div class="{$TpStyle.dom_prefix}-d1-info">
<h1>{$arrVideo.v_name}</h1>
<p><b>类型:</b>{$arrVideo.type.type_name}</p>
<p><b>主演:</b>{$arrVideo.v_actor}</p>
<p><b>地区:</b>{$arrVideo.v_area}</p>
<p><b>年份:</b>{$arrVideo.v_year}</p>
</div>
</header>
{// 播放线路 TAB }
<nav class="{$TpStyle.dom_prefix}-d1-tabs">
<?php $keyLineGroup = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup++ ;?>
<a class="{$TpStyle.dom_prefix}-d1-tab {eq name='$keyLineGroup' value='1'}active{/eq}"
onclick="d1SwitchTab('{$strPlayGroupName}')">
{$strPlayGroupName}
</a>
{/foreach}
</nav>
{// 各线路播放集数列表 }
<div class="{$TpStyle.dom_prefix}-d1-playlists">
<?php $keyLineGroup = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup++ ;?>
<ul class="{$TpStyle.dom_prefix}-d1-list {eq name='$keyLineGroup' value='1'}active{/eq}"
id="play_{$strPlayGroupName}">
<?php $keyLine = 0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $keyLine++ ;?>
<li>
<a class="{if $keyLine == $Request.route.intPlayIndex}active{/if}"
href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$keyLine"
/}'
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}
</a>
</li>
{/volist}
</ul>
{/foreach}
</div>
{// 剧情简介 }
<section class="{$TpStyle.dom_prefix}-d1-desc">
<h2>剧情简介</h2>
<p>{$arrVideo.v_des}</p>
</section>
{// 相关推荐站内沉淀、SEO 拉链) }
<section class="{$TpStyle.dom_prefix}-d1-rel">
<h3>相关推荐</h3>
<div class="{$TpStyle.dom_prefix}-d1-relgrid">
{video:listexp count="8" v_category="$arrVideo.v_category" d_key="key" d_val="Video"
export_name="arrRelated" cache_life="3600" /}
{volist name="arrRelated" id="re"}
<a href="/detail/{$re.v_id}.html" class="{$TpStyle.dom_prefix}-d1-relcard">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$re.v_pic}"
alt="{$re.v_name}">
<p>{$re.v_name}</p>
</a>
{/volist}
</div>
</section>
</article>
<script>
function d1SwitchTab(name) {
document.querySelectorAll('.{$TpStyle.dom_prefix}-d1-list').forEach(e => e.classList.remove('active'));
document.querySelector('#play_'+name).classList.add('active');
document.querySelectorAll('.{$TpStyle.dom_prefix}-d1-tab').forEach(e => e.classList.remove('active'));
event.target.classList.add('active');
}
</script>

View File

@@ -0,0 +1,99 @@
<main class="{$TpStyle.dom_prefix}-d2-page">
{// 顶部大横图 }
<section class="{$TpStyle.dom_prefix}-d2-hero">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"
alt="{$arrVideo.v_name}"
class="{$TpStyle.dom_prefix}-d2-heroimg">
<div class="{$TpStyle.dom_prefix}-d2-heromask"></div>
<div class="{$TpStyle.dom_prefix}-d2-heroinfo">
<h1>{$arrVideo.v_name}</h1>
<p>{$arrVideo.v_year} · {$arrVideo.type.type_name} · {$arrVideo.v_area}</p>
</div>
</section>
{// 基本信息 }
<section class="{$TpStyle.dom_prefix}-d2-info">
<p><b>主演:</b>{$arrVideo.v_actor}</p>
<p><b>导演:</b>{$arrVideo.v_director}</p>
<p><b>语言:</b>{$arrVideo.v_lang}</p>
</section>
{// 播放线路 TAB }
<nav class="{$TpStyle.dom_prefix}-d2-tabs">
<?php $keyLineGroup = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup++ ;?>
<button type="button"
class="{$TpStyle.dom_prefix}-d2-tabbtn {eq name='$keyLineGroup' value='1'}active{/eq}"
onclick="d2SwitchLine('{$strPlayGroupName}', this)">
{$strPlayGroupName}
</button>
{/foreach}
</nav>
{// 每个线路的集数列表(竖排) }
<section class="{$TpStyle.dom_prefix}-d2-lines">
<?php $keyLineGroup = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup++ ;?>
<ul class="{$TpStyle.dom_prefix}-d2-epis {eq name='$keyLineGroup' value='1'}active{/eq}"
id="d2_line_{$strPlayGroupName}">
<?php $keyLine = 0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $keyLine++ ;?>
<li>
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$keyLine" /}'
class="{if $keyLine == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}
</a>
</li>
{/volist}
</ul>
{/foreach}
</section>
{// 剧情简介 }
<section class="{$TpStyle.dom_prefix}-d2-desc">
<h2>剧情简介</h2>
<p>{$arrVideo.v_des}</p>
</section>
{// 相关推荐:同分类 }
<section class="{$TpStyle.dom_prefix}-d2-rel">
<h3>同类推荐</h3>
{video:listexp count="8" v_category="$arrVideo.v_category" d_key="key" d_val="Video"
export_name="arrRelCat" cache_life="3600" /}
<div class="{$TpStyle.dom_prefix}-d2-relgrid">
{volist name="arrRelCat" id="re"}
<a href="/detail/{$re.v_id}.html" class="{$TpStyle.dom_prefix}-d2-relcard">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$re.v_pic}"
alt="{$re.v_name}">
<p>{$re.v_name}</p>
</a>
{/volist}
</div>
</section>
</main>
<script>
function d2SwitchLine(name, btn) {
document.querySelectorAll('.{$TpStyle.dom_prefix}-d2-epis')
.forEach(function(el){ el.classList.remove('active'); });
var box = document.getElementById('d2_line_'+name);
if (box) box.classList.add('active');
document.querySelectorAll('.{$TpStyle.dom_prefix}-d2-tabbtn')
.forEach(function(el){ el.classList.remove('active'); });
btn.classList.add('active');
}
</script>

View File

@@ -0,0 +1,87 @@
<article class="{$TpStyle.dom_prefix}-d3-page">
<section class="{$TpStyle.dom_prefix}-d3-top">
<div class="{$TpStyle.dom_prefix}-d3-picbox">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"
alt="{$arrVideo.v_name}"
class="{$TpStyle.dom_prefix}-d3-pic">
</div>
<div class="{$TpStyle.dom_prefix}-d3-meta">
<h1>{$arrVideo.v_name}</h1>
<p>{$arrVideo.v_year} · {$arrVideo.type.type_name}</p>
<p>主演:{$arrVideo.v_actor}</p>
<p>地区:{$arrVideo.v_area}</p>
</div>
</section>
{// 线路标签 }
<nav class="{$TpStyle.dom_prefix}-d3-linesel">
<?php $keyLineGroup = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup++ ;?>
<span class="{$TpStyle.dom_prefix}-d3-chip {eq name='$keyLineGroup' value='1'}active{/eq}"
onclick="d3Line('{$strPlayGroupName}', this)">
{$strPlayGroupName}
</span>
{/foreach}
</nav>
{// 集数列表 }
<section class="{$TpStyle.dom_prefix}-d3-epwrap">
<?php $keyLineGroup = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup++ ;?>
<div class="{$TpStyle.dom_prefix}-d3-epbox {eq name='$keyLineGroup' value='1'}active{/eq}"
id="d3_box_{$strPlayGroupName}">
<?php $keyLine = 0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $keyLine++ ;?>
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$keyLine" /}'
class="{$TpStyle.dom_prefix}-d3-epitem {if $keyLine == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}
</a>
{/volist}
</div>
{/foreach}
</section>
{// 简介 }
<section class="{$TpStyle.dom_prefix}-d3-desc">
<h2>简介</h2>
<p>{$arrVideo.v_des}</p>
</section>
{// 同演员推荐 }
<section class="{$TpStyle.dom_prefix}-d3-rel">
<h3>同主演推荐</h3>
{video:listexp count="6" v_actor="$arrVideo.v_actor" d_key="key" d_val="Video"
export_name="arrRelActor" cache_life="3600" /}
<div class="{$TpStyle.dom_prefix}-d3-grid">
{volist name="arrRelActor" id="re"}
<a href="/detail/{$re.v_id}.html" class="{$TpStyle.dom_prefix}-d3-card">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$re.v_pic}"
alt="{$re.v_name}">
<p>{$re.v_name}</p>
</a>
{/volist}
</div>
</section>
</article>
<script>
function d3Line(name, el){
document.querySelectorAll('.{$TpStyle.dom_prefix}-d3-epbox')
.forEach(function(box){ box.classList.remove('active'); });
var target = document.getElementById('d3_box_'+name);
if(target) target.classList.add('active');
document.querySelectorAll('.{$TpStyle.dom_prefix}-d3-chip')
.forEach(function(c){ c.classList.remove('active'); });
el.classList.add('active');
}
</script>

View File

@@ -0,0 +1,90 @@
<section class="{$TpStyle.dom_prefix}-d4-page">
<header class="{$TpStyle.dom_prefix}-d4-head">
<h1>{$arrVideo.v_name}</h1>
</header>
<div class="{$TpStyle.dom_prefix}-d4-meta">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"
alt="{$arrVideo.v_name}"
class="{$TpStyle.dom_prefix}-d4-img">
<div class="{$TpStyle.dom_prefix}-d4-table">
<p><span>类型</span><span>{$arrVideo.type.type_name}</span></p>
<p><span>年份</span><span>{$arrVideo.v_year}</span></p>
<p><span>地区</span><span>{$arrVideo.v_area}</span></p>
<p><span>语言</span><span>{$arrVideo.v_lang}</span></p>
</div>
</div>
{// 下拉选择线路 }
<div class="{$TpStyle.dom_prefix}-d4-linebox">
<label>播放线路:</label>
<select onchange="d4SelectLine(this.value)">
<?php $keyLineGroup = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup++ ;?>
<option value="{$strPlayGroupName}" {eq name='$keyLineGroup' value='1'}selected{/eq}>
{$strPlayGroupName}
</option>
{/foreach}
</select>
</div>
{// 集数列表:有序列表 }
<div class="{$TpStyle.dom_prefix}-d4-eplist">
<?php $keyLineGroup = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup++ ;?>
<ol class="{$TpStyle.dom_prefix}-d4-ol {eq name='$keyLineGroup' value='1'}active{/eq}"
id="d4_ol_{$strPlayGroupName}">
<?php $keyLine = 0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $keyLine++ ;?>
<li>
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$keyLine" /}'
class="{if $keyLine == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}
</a>
</li>
{/volist}
</ol>
{/foreach}
</div>
{// 简介 }
<article class="{$TpStyle.dom_prefix}-d4-desc">
<h2>内容简介</h2>
<p>{$arrVideo.v_des}</p>
</article>
{// 同年份推荐 }
<section class="{$TpStyle.dom_prefix}-d4-rel">
<h3>{$arrVideo.v_year} 年度影片推荐</h3>
{video:listexp count="6" v_year="$arrVideo.v_year" d_key="key" d_val="Video"
export_name="arrRelYear" cache_life="3600" /}
<div class="{$TpStyle.dom_prefix}-d4-grid">
{volist name="arrRelYear" id="re"}
<a href="/detail/{$re.v_id}.html" class="{$TpStyle.dom_prefix}-d4-card">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$re.v_pic}"
alt="{$re.v_name}">
<p>{$re.v_name}</p>
</a>
{/volist}
</div>
</section>
</section>
<script>
function d4SelectLine(name){
document.querySelectorAll('.{$TpStyle.dom_prefix}-d4-ol')
.forEach(function(el){ el.classList.remove('active'); });
var target = document.getElementById('d4_ol_'+name);
if(target){ target.classList.add('active'); }
}
</script>

View File

@@ -0,0 +1,86 @@
<article class="{$TpStyle.dom_prefix}-d5-page">
<header class="{$TpStyle.dom_prefix}-d5-head">
<h1>{$arrVideo.v_name}</h1>
<p>{$arrVideo.v_year} · {$arrVideo.type.type_name} · {$arrVideo.v_area}</p>
</header>
<figure class="{$TpStyle.dom_prefix}-d5-fig">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"
alt="{$arrVideo.v_name}"
class="{$TpStyle.dom_prefix}-d5-poster">
</figure>
{// 线路按钮条 }
<section class="{$TpStyle.dom_prefix}-d5-lines">
<div class="{$TpStyle.dom_prefix}-d5-linechips">
<?php $keyLineGroup = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup++ ;?>
<button type="button"
class="{$TpStyle.dom_prefix}-d5-chip {eq name='$keyLineGroup' value='1'}active{/eq}"
onclick="d5Line('{$strPlayGroupName}', this)">
{$strPlayGroupName}
</button>
{/foreach}
</div>
<div class="{$TpStyle.dom_prefix}-d5-epswrap">
<?php $keyLineGroup = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup++ ;?>
<div class="{$TpStyle.dom_prefix}-d5-eps {eq name='$keyLineGroup' value='1'}active{/eq}"
id="d5_eps_{$strPlayGroupName}">
<?php $keyLine = 0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $keyLine++ ;?>
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$keyLine" /}'
class="{$TpStyle.dom_prefix}-d5-epbtn {if $keyLine == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}
</a>
{/volist}
</div>
{/foreach}
</div>
</section>
{// 简介分段 }
<section class="{$TpStyle.dom_prefix}-d5-info">
<h2>简介</h2>
<p>{$arrVideo.v_des}</p>
</section>
{// 综合推荐:同类 + 高票房 }
<section class="{$TpStyle.dom_prefix}-d5-rel">
<h3>你可能还喜欢</h3>
{video:listexp count="8" v_category="$arrVideo.v_category" d_key="key" d_val="Video"
export_name="arrRelMix" cache_life="3600" /}
<div class="{$TpStyle.dom_prefix}-d5-relgrid">
{volist name="arrRelMix" id="re"}
<a href="/detail/{$re.v_id}.html" class="{$TpStyle.dom_prefix}-d5-relcard">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$re.v_pic}"
alt="{$re.v_name}">
<p>{$re.v_name}</p>
</a>
{/volist}
</div>
</section>
</article>
<script>
function d5Line(name, el){
document.querySelectorAll('.{$TpStyle.dom_prefix}-d5-eps')
.forEach(function(box){ box.classList.remove('active'); });
var t = document.getElementById('d5_eps_'+name);
if(t) t.classList.add('active');
document.querySelectorAll('.{$TpStyle.dom_prefix}-d5-chip')
.forEach(function(c){ c.classList.remove('active'); });
el.classList.add('active');
}
</script>

View File

@@ -0,0 +1,111 @@
{// ===================== Action Variants ===================== }
{if $variant == 0}
<div class="{$TpStyle.dom_prefix}-dm-action v0">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>立即播放</a>
</div>
{elseif $variant == 1}
<div class="{$TpStyle.dom_prefix}-dm-action v1">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>在线播放</a>
<span>无需安装</span>
</div>
{elseif $variant == 2}
<nav class="{$TpStyle.dom_prefix}-dm-action v2">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>▶ 播放</a>
<a href="#desc">剧情</a>
</nav>
{elseif $variant == 3}
<ul class="{$TpStyle.dom_prefix}-dm-action v3">
<li><a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>高清</a></li>
<li><a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>免费</a></li>
</ul>
{elseif $variant == 4}
<div class="{$TpStyle.dom_prefix}-dm-action v4">
<button onclick="location.href='{$playUrl}'">立即观看</button>
</div>
{elseif $variant == 5}
<div class="{$TpStyle.dom_prefix}-dm-action v5">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>{$arrVideo.v_name} 在线观看</a>
</div>
{elseif $variant == 6}
<footer class="{$TpStyle.dom_prefix}-dm-action v6">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>开始播放</a>
</footer>
{elseif $variant == 7}
<section class="{$TpStyle.dom_prefix}-dm-action v7">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>免费观看</a>
<small>高清资源</small>
</section>
{elseif $variant == 8}
<div class="{$TpStyle.dom_prefix}-dm-action v8">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>播放正片</a>
</div>
{elseif $variant == 9}
<div class="{$TpStyle.dom_prefix}-dm-action v9">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>立即观看 {$arrVideo.v_name}</a>
</div>
{elseif $variant == 10}
<div class="{$TpStyle.dom_prefix}-dm-action v10">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>在线播放 · 高清</a>
</div>
{elseif $variant == 11}
<div class="{$TpStyle.dom_prefix}-dm-action v11">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>点击播放</a>
<span>支持多线路</span>
</div>
{elseif $variant == 12}
<nav class="{$TpStyle.dom_prefix}-dm-action v12">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>播放</a>
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>下载</a>
</nav>
{elseif $variant == 13}
<div class="{$TpStyle.dom_prefix}-dm-action v13">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'></a>
</div>
{elseif $variant == 14}
<div class="{$TpStyle.dom_prefix}-dm-action v14">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>{$arrVideo.v_name} 免费看</a>
</div>
{elseif $variant == 15}
<aside class="{$TpStyle.dom_prefix}-dm-action v15">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>立即播放</a>
</aside>
{elseif $variant == 16}
<div class="{$TpStyle.dom_prefix}-dm-action v16"
data-action="play">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>播放影片</a>
</div>
{elseif $variant == 17}
<div class="{$TpStyle.dom_prefix}-dm-action v17">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>高清播放</a>
<em>无需登录</em>
</div>
{elseif $variant == 18}
<section class="{$TpStyle.dom_prefix}-dm-action v18">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>在线观看</a>
</section>
{elseif $variant == 19}
<footer class="{$TpStyle.dom_prefix}-dm-action v19">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>马上播放</a>
</footer>
{/if}

View File

@@ -0,0 +1,152 @@
{// ===================== Cover Variants ===================== }
{if $variant == 0}
<div class="{$TpStyle.dom_prefix}-dm-cover v0">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"
alt="{$arrVideo.v_name}">
</div>
{elseif $variant == 1}
<figure class="{$TpStyle.dom_prefix}-dm-cover v1">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"
alt="{$arrVideo.v_name}">
<figcaption class="{$TpStyle.dom_prefix}-dm-cover-cap">
{$arrVideo.v_remarks}
</figcaption>
</figure>
{elseif $variant == 2}
<a class="{$TpStyle.dom_prefix}-dm-cover v2"
href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"
alt="{$arrVideo.v_name}">
</a>
{elseif $variant == 3}
<div class="{$TpStyle.dom_prefix}-dm-cover v3">
<div class="{$TpStyle.dom_prefix}-dm-cover-bg"
data-bg="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"></div>
</div>
{elseif $variant == 4}
<div class="{$TpStyle.dom_prefix}-dm-cover v4">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
<span class="{$TpStyle.dom_prefix}-dm-cover-badge">
{$arrVideo.v_year}
</span>
</div>
{elseif $variant == 5}
<div class="{$TpStyle.dom_prefix}-dm-cover v5">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
<span class="{$TpStyle.dom_prefix}-dm-cover-score">
{$arrVideo.v_score}
</span>
</div>
{elseif $variant == 6}
<section class="{$TpStyle.dom_prefix}-dm-cover v6">
<div class="{$TpStyle.dom_prefix}-dm-cover-bg"
data-bg="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"></div>
<span class="{$TpStyle.dom_prefix}-dm-cover-play"></span>
</section>
{elseif $variant == 7}
<article class="{$TpStyle.dom_prefix}-dm-cover v7">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
</article>
{elseif $variant == 8}
<div class="{$TpStyle.dom_prefix}-dm-cover v8">
<picture class="{$TpStyle.dom_prefix}-dm-cover-pic">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
</picture>
</div>
{elseif $variant == 9}
<div class="{$TpStyle.dom_prefix}-dm-cover v9">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
<span class="{$TpStyle.dom_prefix}-dm-cover-remark">
{$arrVideo.v_remarks}
</span>
</div>
{elseif $variant == 10}
<div class="{$TpStyle.dom_prefix}-dm-cover v10">
<div class="{$TpStyle.dom_prefix}-dm-cover-bg"
data-bg="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"></div>
<span class="{$TpStyle.dom_prefix}-dm-cover-tag">HD</span>
</div>
{elseif $variant == 11}
<a class="{$TpStyle.dom_prefix}-dm-cover v11"
href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>
<div class="{$TpStyle.dom_prefix}-dm-cover-bg"
data-bg="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"></div>
</a>
{elseif $variant == 12}
<div class="{$TpStyle.dom_prefix}-dm-cover v12">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
<span class="{$TpStyle.dom_prefix}-dm-cover-top">更新中</span>
</div>
{elseif $variant == 13}
<div class="{$TpStyle.dom_prefix}-dm-cover v13">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
<span class="{$TpStyle.dom_prefix}-dm-cover-corner"></span>
</div>
{elseif $variant == 14}
<div class="{$TpStyle.dom_prefix}-dm-cover v14">
<div class="{$TpStyle.dom_prefix}-dm-cover-bg"
data-bg="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"></div>
<span class="{$TpStyle.dom_prefix}-dm-cover-year">
{$arrVideo.v_year}
</span>
</div>
{elseif $variant == 15}
<div class="{$TpStyle.dom_prefix}-dm-cover v15">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
<span class="{$TpStyle.dom_prefix}-dm-cover-free">
免费
</span>
</div>
{elseif $variant == 16}
<div class="{$TpStyle.dom_prefix}-dm-cover v16">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
<span class="{$TpStyle.dom_prefix}-dm-cover-mask"></span>
</div>
{elseif $variant == 17}
<aside class="{$TpStyle.dom_prefix}-dm-cover v17">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
</aside>
{elseif $variant == 18}
<div class="{$TpStyle.dom_prefix}-dm-cover v18"
data-cover="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
</div>
{elseif $variant == 19}
<section class="{$TpStyle.dom_prefix}-dm-cover v19">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
</section>
{/if}

View File

@@ -0,0 +1,134 @@
{// ===================== Desc Variants ===================== }
{if $variant == 0}
<p class="{$TpStyle.dom_prefix}-dm-desc v0">
{$arrVideo.v_description}
</p>
{elseif $variant == 1}
<div class="{$TpStyle.dom_prefix}-dm-desc v1">
<p>{$arrVideo.v_description|mb_substr=0,120}</p>
</div>
{elseif $variant == 2}
<section class="{$TpStyle.dom_prefix}-dm-desc v2">
<p>{$arrVideo.v_description|mb_substr=0,200}</p>
</section>
{elseif $variant == 3}
<article class="{$TpStyle.dom_prefix}-dm-desc v3">
<p>{$arrVideo.v_description}</p>
</article>
{elseif $variant == 4}
<div class="{$TpStyle.dom_prefix}-dm-desc v4">
<p>
剧情简介:{$arrVideo.v_description|mb_substr=0,150}
</p>
</div>
{elseif $variant == 5}
<details class="{$TpStyle.dom_prefix}-dm-desc v5">
<summary>剧情介绍</summary>
<p>{$arrVideo.v_description}</p>
</details>
{elseif $variant == 6}
<div class="{$TpStyle.dom_prefix}-dm-desc v6">
<p>{$arrVideo.v_description|mb_substr=0,100}...</p>
<a href="#desc">查看详情</a>
</div>
{elseif $variant == 7}
<section class="{$TpStyle.dom_prefix}-dm-desc v7">
<header>影片简介</header>
<p>{$arrVideo.v_description|mb_substr=0,180}</p>
</section>
{elseif $variant == 8}
<div class="{$TpStyle.dom_prefix}-dm-desc v8">
<blockquote>
{$arrVideo.v_description|mb_substr=0,160}
</blockquote>
</div>
{elseif $variant == 9}
<p class="{$TpStyle.dom_prefix}-dm-desc v9">
{$arrVideo.v_name}{$arrVideo.v_year})剧情:
{$arrVideo.v_description|mb_substr=0,140}
</p>
{elseif $variant == 10}
<div class="{$TpStyle.dom_prefix}-dm-desc v10">
<p itemprop="description">
{$arrVideo.v_description|mb_substr=0,160}
</p>
</div>
{elseif $variant == 11}
<div class="{$TpStyle.dom_prefix}-dm-desc v11"
data-desc="{$arrVideo.v_description|mb_substr=0,200}">
<p>{$arrVideo.v_description|mb_substr=0,120}</p>
</div>
{elseif $variant == 12}
<section class="{$TpStyle.dom_prefix}-dm-desc v12">
<p>
{$arrVideo.v_description|mb_substr=0,100}
<span class="{$TpStyle.dom_prefix}-dm-desc-more">
{$arrVideo.v_name} 在线观看
</span>
</p>
</section>
{elseif $variant == 13}
<div class="{$TpStyle.dom_prefix}-dm-desc v13">
<p>
{$arrVideo.v_description|mb_substr=0,130}
高清完整版内容介绍。
</p>
</div>
{elseif $variant == 14}
<div class="{$TpStyle.dom_prefix}-dm-desc v14">
<p>
{$arrVideo.v_description|mb_substr=0,150}
</p>
<p class="{$TpStyle.dom_prefix}-dm-desc-note">
本片支持在线播放
</p>
</div>
{elseif $variant == 15}
<p class="{$TpStyle.dom_prefix}-dm-desc v15">
{$arrVideo.v_description|mb_substr=0,120}
免费观看{$arrVideo.v_name}
</p>
{elseif $variant == 16}
<div class="{$TpStyle.dom_prefix}-dm-desc v16">
<p>
<strong>{$arrVideo.v_name}</strong>
{$arrVideo.v_description|mb_substr=0,140}
</p>
</div>
{elseif $variant == 17}
<section class="{$TpStyle.dom_prefix}-dm-desc v17">
<p>{$arrVideo.v_description|mb_substr=0,180}</p>
</section>
{elseif $variant == 18}
<div class="{$TpStyle.dom_prefix}-dm-desc v18">
<p class="{$TpStyle.dom_prefix}-dm-desc-hidden">
{$arrVideo.v_description}
</p>
</div>
{elseif $variant == 19}
<article class="{$TpStyle.dom_prefix}-dm-desc v19">
<header>剧情简介</header>
<p>{$arrVideo.v_description|mb_substr=0,160}</p>
</article>
{/if}

View File

@@ -0,0 +1,15 @@
{switch $pageCfg.detail_main.layout}
{case value="A"}
{include file="module/detail_main/layout/layout_A" /}
{/case}
{case value="B"}
{include file="module/detail_main/layout/layout_B" /}
{/case}
{case value="C"}
{include file="module/detail_main/layout/layout_C" /}
{/case}
{/switch}

View File

@@ -0,0 +1,32 @@
A 改成
h5
顶部 cover 1/3 居中显示pc 有个最大尺寸,不要太大,不然封面霸屏了
中间: 居中展示 :title meta
下面 居中展示 action ;
pc:
左边 cover
右边 title meta action desc
┌───────────────────────────────┐
│ cover │ ← 主视觉(居中,不霸屏)
├───────────────────────────────┤
│ title | meta | action │ ← 信息一行阅读
├───────────────────────────────┤
│ desc │ ← 内容阅读区
└───────────────────────────────┘
B 改成
顶部 左边cover 1/3 ;右边: title meta action
下面 desc
c 改成
顶部 title
中间 左边cover 1/3 ;右边: meta action
下面 desc
注意
thinkphp 视图 注释 {// ===== TopTitle ===== }
然后 所有html的 class 请加seed 前缀 {$TpStyle.dom_prefix}-

View File

@@ -0,0 +1,268 @@
好,确认你选的是 **方案 1给你「5 个模块 × 每个 20 套的【具体 HTML 设计清单】」**
下面我**不写完整代码**,而是给你 **可以直接照着写的结构设计说明**,每一套都**明确“差异点在哪”**,这样你写的时候不会重复、不会越界,也不会把自己绕晕。
> 目标只有一个:
> **F12 看起来不一样 + SEO 结构不一样 + 长期好维护**
---
# 一、Title 模块20 套设计清单)
好,这里我一次性给你可直接上线用的完整版本,不再讲概念。
你要的是:
✅ title 模块
✅ 1 个文件内 20 套 HTML
✅ 配套 CSS
✅ CSS 全部走类名
✅ 用 seed / dom_prefix 做前缀,天然差异化
✅ 后续加标签不需要动 CSS
下面内容你可以 直接复制进项目。
一、Title 模块 HTML1 个文件 / 20 套)
文件路径:
module/detail_main/title.html
约定
$variant019
$TpStyle.dom_prefixseed 前缀
$arrVideo视频数据
> 变化维度:
> **标签语义 / 层级 / 强弱 / 附加信息**
### Title 0105标准标题系
1. `h1` 单行标题
2. `h1 + small(year)`
3. `h2 + strong`
4. `h1` 带引号《》
5. `h1` + `sup`HD / 完结)
### Title 0610语义包裹系
6. `header > h1`
7. `div.title > h1`
8. `figure > figcaption > h1`
9. `section > h1 + p.sub`
10. `article > h1`
### Title 1115强调变化系
11. `h1 > strong`
12. `h1 > em`
13. `h2 + span.tag(年份)`
14. `h1 + span.score`
15. `h1 + i.icon`
### Title 1620SEO 扩展系)
16. `h1` + “在线观看”文案
17. `h1` + “免费高清完整版”
18. `h1 + meta(itemprop=name)`
19. `h1` + `data-title` 属性
20. `h1` + 隐藏 `span`SEO
---
# 二、Cover 模块20 套设计清单)
> 变化维度:
> **img / bg / 容器语义 / 角标 / 交互**
### Cover 0105基础封面
1. `div > img`
2. `figure > img`
3. `a > img`(可点击)
4. `div.cover > img + badge`
5. `div.cover > img + score`
### Cover 0610背景图系
6. `div.bg` + inline background
7. `div.bg` + 渐变遮罩
8. `section.bg`
9. `figure.bg + figcaption`
10. `a.bg`(跳播放)
### Cover 1115信息叠加系
11. 封面右下角年份
12. 封面左上角“更新中”
13. hover 显示播放 icon
14. hover 显示标题
15. 叠加评分条
### Cover 1620比例 / 结构差异)
16. 2:3 比例容器
17. 1:1 比例容器
18. 3:4 比例容器
19. picture / source 结构
20. img + noscriptSEO
---
# 三、Meta 模块20 套设计清单)
> 变化维度:
> **结构标签 / 字段顺序 / 展示密度**
### Meta 0105列表系
1. `ul > li`(类型 / 年份 / 地区)
2. `ol > li`
3. `ul.inline`
4. `ul + icon`
5. `ul + span.label`
### Meta 0610定义列表
6. `dl > dt/dd`
7. `dl.horizontal`
8. `dl` + data-*
9. `dl` + microdata
10. `dl` 精简版2 项)
### Meta 1115行内文本
11. `p``|` 分隔
12. `p``·` 分隔
13. `span.meta-item`
14. `small.meta`
15. `p` + `time`
### Meta 1620SEO 结构)
16. `table`2 行)
17. `div.meta-grid`
18. `meta itemprop`
19. `data-year / data-area`
20. 隐藏 metaSEO
---
# 四、Desc 模块20 套设计清单)
> 变化维度:
> **内容长度 / 展示方式 / 语义标签**
### Desc 0105直出文本
1. `p` 全文
2. `p` 截断 120 字
3. `p` 截断 200 字
4. `div` 全文
5. `section > p`
### Desc 0610可展开
6. `details > summary`
7. `div + “展开更多”`
8. `p + a(#desc)`
9. `section + toggle`
10. `article + footer`
### Desc 1115SEO 改写)
11. 标准简介 + 年份
12. 加“在线观看”关键词
13. 加“高清资源”
14. 加“剧情介绍”前缀
15. 半伪原创句式
### Desc 1620语义增强
16. `article`
17. `blockquote`
18. `p itemprop=description`
19. `div data-desc`
20. 隐藏长描述SEO
---
# 五、Action 模块20 套设计清单)
> 变化维度:
> **交互形式 / 文案 / 结构**
### Action 0105按钮
1. 单按钮「立即播放」
2. 单按钮「在线观看」
3. button 标签
4. a.btn 标签
5. 带 icon 的按钮
### Action 0610导航
6. `nav > a`(播放 / 剧情)
7. `ul > li > a`
8. 横向按钮组
9. 垂直按钮组
10. sticky action
### Action 1115强化转化
11. 播放 + “无需安装”
12. 播放 + “高清”
13. 播放 + “免费”
14. 播放 + “推荐”
15. 播放 + 提示文本
### Action 1620结构差异
16. `section.action`
17. `footer.action`
18. `div.action`
19. `aside.action`
20. data-action 结构
---
# 六、你写的时候只需要记住 3 条铁律
1. **一个模块 = 一个文件**
2. **一个文件 = 20 个 `{if $variant == N}`**
3. **每个 variant = 完整、真实、能独立存在的 HTML**
不需要:
* 原子
* 组合器
* cfg 兜底
* 复杂判断
---
# 七、最终工程评价(实话)
你现在这个方案:
***复杂度最低**
***差异化足够大**
***和 item 体系统一**
***最适合 InCloud**
***3 年内不用重构**
这是**站群工程里的“终态方案”**。
---
如果你下一步想要,我可以:
* **直接帮你把某一个模块(比如 title 或 action的 20 套 HTML 全部写出来**
***帮你设计「播放页 Player」用同一套路**
你一句话说哪个模块,我直接给你 **完整 20 套可复制代码**

View File

@@ -0,0 +1,27 @@
<section class="{$TpStyle.dom_prefix}-dm-root {$TpStyle.dom_prefix}-layout-a">
{// ===== TopCover ===== }
<div class="{$TpStyle.dom_prefix}-dm-row {$TpStyle.dom_prefix}-dm-row-cover">
{assign name="variant" value="$pageCfg.detail_main.cover"}
{include file="module/detail_main/cover" /}
</div>
{// ===== MiddleTitle + Meta + Action ===== }
<div class="{$TpStyle.dom_prefix}-dm-row {$TpStyle.dom_prefix}-dm-row-info">
{assign name="variant" value="$pageCfg.detail_main.title"}
{include file="module/detail_main/title" /}
{assign name="variant" value="$pageCfg.detail_main.meta"}
{include file="module/detail_main/meta" /}
{assign name="variant" value="$pageCfg.detail_main.action"}
{include file="module/detail_main/action" /}
</div>
{// ===== BottomDesc ===== }
<div class="{$TpStyle.dom_prefix}-dm-row {$TpStyle.dom_prefix}-dm-row-desc">
{assign name="variant" value="$pageCfg.detail_main.desc"}
{include file="module/detail_main/desc" /}
</div>
</section>

View File

@@ -0,0 +1,30 @@
<section class="{$TpStyle.dom_prefix}-dm-root {$TpStyle.dom_prefix}-layout-B">
{// ===== TopCover + Info ===== }
<div class="{$TpStyle.dom_prefix}-dm-row {$TpStyle.dom_prefix}-dm-row-top">
<div class="{$TpStyle.dom_prefix}-dm-col {$TpStyle.dom_prefix}-dm-col-cover">
{assign name="variant" value="$pageCfg.detail_main.cover"}
{include file="module/detail_main/cover" /}
</div>
<div class="{$TpStyle.dom_prefix}-dm-col {$TpStyle.dom_prefix}-dm-col-info">
{assign name="variant" value="$pageCfg.detail_main.title"}
{include file="module/detail_main/title" /}
{assign name="variant" value="$pageCfg.detail_main.meta"}
{include file="module/detail_main/meta" /}
{assign name="variant" value="$pageCfg.detail_main.action"}
{include file="module/detail_main/action" /}
</div>
</div>
{// ===== BottomDesc ===== }
<div class="{$TpStyle.dom_prefix}-dm-row {$TpStyle.dom_prefix}-dm-row-bottom">
{assign name="variant" value="$pageCfg.detail_main.desc"}
{include file="module/detail_main/desc" /}
</div>
</section>

View File

@@ -0,0 +1,33 @@
<section class="{$TpStyle.dom_prefix}-dm-root {$TpStyle.dom_prefix}-layout-C">
{// ===== TopTitle ===== }
<div class="{$TpStyle.dom_prefix}-dm-row {$TpStyle.dom_prefix}-dm-row-top">
{assign name="variant" value="$pageCfg.detail_main.title"}
{include file="module/detail_main/title" /}
</div>
{// ===== MiddleCover + Meta / Action ===== }
<div class="{$TpStyle.dom_prefix}-dm-row {$TpStyle.dom_prefix}-dm-row-middle">
<div class="{$TpStyle.dom_prefix}-dm-col {$TpStyle.dom_prefix}-dm-col-cover">
{assign name="variant" value="$pageCfg.detail_main.cover"}
{include file="module/detail_main/cover" /}
</div>
<div class="{$TpStyle.dom_prefix}-dm-col {$TpStyle.dom_prefix}-dm-col-info">
{assign name="variant" value="$pageCfg.detail_main.meta"}
{include file="module/detail_main/meta" /}
{assign name="variant" value="$pageCfg.detail_main.action"}
{include file="module/detail_main/action" /}
</div>
</div>
{// ===== BottomDesc ===== }
<div class="{$TpStyle.dom_prefix}-dm-row {$TpStyle.dom_prefix}-dm-row-bottom">
{assign name="variant" value="$pageCfg.detail_main.desc"}
{include file="module/detail_main/desc" /}
</div>
</section>

View File

@@ -0,0 +1,222 @@
{// ===================== Meta Variants (Array-aware, no i_last) ===================== }
{// 预计算长度(避免 i_last }
{assign name="len_area" value="is_array($arrVideo.v_area)?count($arrVideo.v_area):0"}
{assign name="len_actor" value="is_array($arrVideo.v_actor)?count($arrVideo.v_actor):0"}
{assign name="len_director" value="is_array($arrVideo.v_director)?count($arrVideo.v_director):0"}
{assign name="len_lang" value="is_array($arrVideo.v_lang)?count($arrVideo.v_lang):0"}
{if $variant == 0}
<ul class="{$TpStyle.dom_prefix}-dm-meta v0">
<li>年份:{$arrVideo.v_year}</li>
<li>
地区:
{volist name="arrVideo.v_area" id="vo" key="k"}
{$vo}{if $k < $len_area} / {/if}
{/volist}
</li>
<li>类型:{$arrVideo.v_category}</li>
</ul>
{elseif $variant == 1}
<p class="{$TpStyle.dom_prefix}-dm-meta v1">
{$arrVideo.v_year} ·
{volist name="arrVideo.v_area" id="vo" key="k"}
{$vo}{if $k < $len_area} · {/if}
{/volist}
· {$arrVideo.v_category}
</p>
{elseif $variant == 2}
<ol class="{$TpStyle.dom_prefix}-dm-meta v2">
<li>上映时间:{$arrVideo.v_year}</li>
<li>
语言:
{volist name="arrVideo.v_lang" id="vo" key="k"}
{$vo}{if $k < $len_lang}、{/if}
{/volist}
</li>
<li>{$arrVideo.v_category}</li>
</ol>
{elseif $variant == 3}
<div class="{$TpStyle.dom_prefix}-dm-meta v3">
<span>{$arrVideo.v_category}</span>
<span>
{volist name="arrVideo.v_area" id="vo" key="k"}
{$vo}{if $k < $len_area} | {/if}
{/volist}
</span>
<span>{$arrVideo.v_year}</span>
</div>
{elseif $variant == 4}
<p class="{$TpStyle.dom_prefix}-dm-meta v4">
{$arrVideo.v_year} /
{volist name="arrVideo.v_lang" id="vo" key="k"}
{$vo}{if $k < $len_lang}/{/if}
{/volist}
</p>
{elseif $variant == 5}
<dl class="{$TpStyle.dom_prefix}-dm-meta v5">
<dt>导演</dt>
<dd>
{volist name="arrVideo.v_director" id="vo" key="k"}
{$vo}{if $k < $len_director}、{/if}
{/volist}
</dd>
<dt>主演</dt>
<dd>
{volist name="arrVideo.v_actor" id="vo" key="k"}
{$vo}{if $k < $len_actor} / {/if}
{/volist}
</dd>
</dl>
{elseif $variant == 6}
<dl class="{$TpStyle.dom_prefix}-dm-meta v6">
<dt>主演</dt>
<dd>
{volist name="arrVideo.v_actor" id="vo" key="k"}
<span class="{$TpStyle.dom_prefix}-dm-meta-chip">{$vo}</span>{if $k < $len_actor} · {/if}
{/volist}
</dd>
</dl>
{elseif $variant == 7}
<div class="{$TpStyle.dom_prefix}-dm-meta v7">
<span class="{$TpStyle.dom_prefix}-dm-meta-label">导演</span>
<span>
{volist name="arrVideo.v_director" id="vo" key="k"}
{$vo}{if $k < $len_director} | {/if}
{/volist}
</span>
</div>
{elseif $variant == 8}
<div class="{$TpStyle.dom_prefix}-dm-meta v8">
<time>{$arrVideo.v_year}</time>
<span>
{volist name="arrVideo.v_area" id="vo" key="k"}
{$vo}{if $k < $len_area} · {/if}
{/volist}
</span>
</div>
{elseif $variant == 9}
<div class="{$TpStyle.dom_prefix}-dm-meta v9">
<span>{$arrVideo.v_category}</span>
<span class="{$TpStyle.dom_prefix}-dm-meta-sep">|</span>
<span>
{volist name="arrVideo.v_lang" id="vo" key="k"}
{$vo}{if $k < $len_lang} | {/if}
{/volist}
</span>
</div>
{elseif $variant == 10}
<table class="{$TpStyle.dom_prefix}-dm-meta v10">
<tr>
<td>地区</td>
<td>
{volist name="arrVideo.v_area" id="vo" key="k"}
{$vo}{if $k < $len_area}、{/if}
{/volist}
</td>
</tr>
<tr>
<td>语言</td>
<td>
{volist name="arrVideo.v_lang" id="vo" key="k"}
{$vo}{if $k < $len_lang}、{/if}
{/volist}
</td>
</tr>
</table>
{elseif $variant == 11}
<div class="{$TpStyle.dom_prefix}-dm-meta v11"
data-actor="{volist name='arrVideo.v_actor' id='vo' key='k'}{$vo}{if $k < $len_actor},{/if}{/volist}">
{$arrVideo.v_category}
</div>
{elseif $variant == 12}
<p class="{$TpStyle.dom_prefix}-dm-meta v12">
<strong>{$arrVideo.v_category}</strong>
<em>
{volist name="arrVideo.v_lang" id="vo" key="k"}
{$vo}{if $k < $len_lang} / {/if}
{/volist}
</em>
</p>
{elseif $variant == 13}
<div class="{$TpStyle.dom_prefix}-dm-meta v13">
<span>
{volist name="arrVideo.v_area" id="vo" key="k"}
{$vo}{if $k < $len_area} · {/if}
{/volist}
</span>
<span>{$arrVideo.v_year}</span>
</div>
{elseif $variant == 14}
<div class="{$TpStyle.dom_prefix}-dm-meta v14">
<span>{$arrVideo.v_year}</span>
<span>
主演:
{volist name="arrVideo.v_actor" id="vo" key="k"}
{$vo}{if $k < $len_actor}、{/if}
{/volist}
</span>
</div>
{elseif $variant == 15}
<p class="{$TpStyle.dom_prefix}-dm-meta v15">
{$arrVideo.v_category} /
{volist name="arrVideo.v_area" id="vo" key="k"}
{$vo}{if $k < $len_area}/{/if}
{/volist}
/ {$arrVideo.v_year}
</p>
{elseif $variant == 16}
<div class="{$TpStyle.dom_prefix}-dm-meta v16" itemprop="about">
{$arrVideo.v_category}
</div>
{elseif $variant == 17}
<div class="{$TpStyle.dom_prefix}-dm-meta v17">
导演:
{volist name="arrVideo.v_director" id="vo" key="k"}
{$vo}{if $k < $len_director} · {/if}
{/volist}
</div>
{elseif $variant == 18}
<div class="{$TpStyle.dom_prefix}-dm-meta v18">
<span class="{$TpStyle.dom_prefix}-dm-meta-hidden">
{volist name="arrVideo.v_actor" id="vo"}{$vo} {/volist}
{volist name="arrVideo.v_area" id="vo"}{$vo} {/volist}
{volist name="arrVideo.v_lang" id="vo"}{$vo} {/volist}
</span>
</div>
{elseif $variant == 19}
<section class="{$TpStyle.dom_prefix}-dm-meta v19">
<p>
主演:
{volist name="arrVideo.v_actor" id="vo" key="k"}
{$vo}{if $k < $len_actor}、{/if}
{/volist}
</p>
<p>
导演:
{volist name="arrVideo.v_director" id="vo" key="k"}
{$vo}{if $k < $len_director}、{/if}
{/volist}
</p>
</section>
{/if}

View File

@@ -0,0 +1,117 @@
{// ===================== Title Variants ===================== }
{if $variant == 0}
<h1 class="{$TpStyle.dom_prefix}-dm-title v0">
{$arrVideo.v_name}
</h1>
{elseif $variant == 1}
<h1 class="{$TpStyle.dom_prefix}-dm-title v1">
{$arrVideo.v_name}
<small>{$arrVideo.v_year}</small>
</h1>
{elseif $variant == 2}
<h2 class="{$TpStyle.dom_prefix}-dm-title v2">
《{$arrVideo.v_name}》
</h2>
{elseif $variant == 3}
<header class="{$TpStyle.dom_prefix}-dm-title-wrap v3">
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h1>
<span class="{$TpStyle.dom_prefix}-dm-sub">{$arrVideo.v_year}</span>
</header>
{elseif $variant == 4}
<div class="{$TpStyle.dom_prefix}-dm-title-box v4">
<strong class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</strong>
</div>
{elseif $variant == 5}
<h1 class="{$TpStyle.dom_prefix}-dm-title v5">
{$arrVideo.v_name}
<sup>HD</sup>
</h1>
{elseif $variant == 6}
<section class="{$TpStyle.dom_prefix}-dm-title-wrap v6">
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h1>
</section>
{elseif $variant == 7}
<article class="{$TpStyle.dom_prefix}-dm-title-wrap v7">
<h2 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h2>
</article>
{elseif $variant == 8}
<figure class="{$TpStyle.dom_prefix}-dm-title-wrap v8">
<figcaption class="{$TpStyle.dom_prefix}-dm-title">
{$arrVideo.v_name}
</figcaption>
</figure>
{elseif $variant == 9}
<h1 class="{$TpStyle.dom_prefix}-dm-title v9">
{$arrVideo.v_name}
<span class="{$TpStyle.dom_prefix}-dm-tag">在线观看</span>
</h1>
{elseif $variant == 10}
<h1 class="{$TpStyle.dom_prefix}-dm-title v10" data-title="{$arrVideo.v_name}">
{$arrVideo.v_name}
</h1>
{elseif $variant == 11}
<h2 class="{$TpStyle.dom_prefix}-dm-title v11">
<strong>{$arrVideo.v_name}</strong>
</h2>
{elseif $variant == 12}
<div class="{$TpStyle.dom_prefix}-dm-title-box v12">
<h1 class="{$TpStyle.dom_prefix}-dm-title">
{$arrVideo.v_name}
<em>{$arrVideo.v_year}</em>
</h1>
</div>
{elseif $variant == 13}
<h1 class="{$TpStyle.dom_prefix}-dm-title v13">
{$arrVideo.v_name}
<span class="{$TpStyle.dom_prefix}-dm-score">{$arrVideo.v_score}</span>
</h1>
{elseif $variant == 14}
<header class="{$TpStyle.dom_prefix}-dm-title-wrap v14">
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h1>
<i class="{$TpStyle.dom_prefix}-dm-icon"></i>
</header>
{elseif $variant == 15}
<h1 class="{$TpStyle.dom_prefix}-dm-title v15">
{$arrVideo.v_name} 免费高清完整版
</h1>
{elseif $variant == 16}
<h1 class="{$TpStyle.dom_prefix}-dm-title v16" itemprop="name">
{$arrVideo.v_name}
</h1>
{elseif $variant == 17}
<div class="{$TpStyle.dom_prefix}-dm-title-box v17">
<h2 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h2>
</div>
{elseif $variant == 18}
<h1 class="{$TpStyle.dom_prefix}-dm-title v18">
{$arrVideo.v_name}
<span class="{$TpStyle.dom_prefix}-dm-hidden">
{$arrVideo.v_year} 在线观看
</span>
</h1>
{elseif $variant == 19}
<section class="{$TpStyle.dom_prefix}-dm-title-wrap v19">
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h1>
</section>
{/if}

View File

@@ -0,0 +1,11 @@
<footer class="{$TpStyle.dom_prefix}-f1-wrap">
<nav class="{$TpStyle.dom_prefix}-f1-nav">
<a href="/">首页</a>
<a href="/list/1.html">电影</a>
<a href="/list/2.html">电视剧</a>
<a href="/list/3.html">综艺</a>
</nav>
<p class="{$TpStyle.dom_prefix}-f1-copy">
本站不存储视频资源 · 来自互联网公开数据
</p>
</footer>

View File

@@ -0,0 +1,31 @@
<footer class="{$TpStyle.dom_prefix}-f2-root">
<section class="{$TpStyle.dom_prefix}-f2-grid">
<div class="{$TpStyle.dom_prefix}-f2-col">
<h4>导航</h4>
<ul>
<li><a href="/">首页</a></li>
<li><a href="/list/1.html">电影</a></li>
<li><a href="/list/2.html">电视剧</a></li>
</ul>
</div>
<div class="{$TpStyle.dom_prefix}-f2-col">
<h4>热门标签</h4>
<p class="{$TpStyle.dom_prefix}-f2-tags">
<span>动作</span>
<span>喜剧</span>
<span>冒险</span>
<span>动漫</span>
</p>
</div>
<div class="{$TpStyle.dom_prefix}-f2-col">
<h4>声明</h4>
<p>本站不存储视频内容,所有资源均来自第三方。</p>
</div>
</section>
<div class="{$TpStyle.dom_prefix}-f2-bottom">
Copyright © VideoSite
</div>
</footer>

View File

@@ -0,0 +1,7 @@
<footer class="{$TpStyle.dom_prefix}-f3-wrap">
<div class="{$TpStyle.dom_prefix}-f3-bar">声明:本站不提供影片存储服务</div>
<div class="{$TpStyle.dom_prefix}-f3-main">
<p>所有内容均来自公开网络,如有侵权请联系我们处理。</p>
<p class="{$TpStyle.dom_prefix}-f3-small">© Copyright</p>
</div>
</footer>

View File

@@ -0,0 +1,6 @@
<footer class="{$TpStyle.dom_prefix}-f4-box">
<div class="{$TpStyle.dom_prefix}-f4-card">
<p>本站为影视信息聚合平台,不提供影片上传与存储。</p>
<p class="{$TpStyle.dom_prefix}-f4-cp">Video H5 Template</p>
</div>
</footer>

View File

@@ -0,0 +1,6 @@
<article class="{$TpStyle.dom_prefix}-f5-area">
<small class="{$TpStyle.dom_prefix}-f5-txt">
本站不提供视频存储服务 · 数据均来自互联网
</small>
<span class="{$TpStyle.dom_prefix}-f5-bottom">© Media Engine</span>
</article>

View File

@@ -0,0 +1,8 @@
<header class="{$TpStyle.dom_prefix}-head1">
<div class="{$TpStyle.dom_prefix}-head1-inner">
<a href="/" class="{$TpStyle.dom_prefix}-head1-logo">Movie</a>
<form class="{$TpStyle.dom_prefix}-head1-search" action="/search.html">
<input type="text" name="wd" placeholder="搜索影片…">
</form>
</div>
</header>

View File

@@ -0,0 +1,8 @@
<header class="{$TpStyle.dom_prefix}-head2">
<div class="{$TpStyle.dom_prefix}-head2-inner">
<a href="/" class="{$TpStyle.dom_prefix}-head2-logo">VideoBox</a>
<form class="{$TpStyle.dom_prefix}-head2-search" action="/search.html">
<input type="text" name="wd" placeholder="搜索影片…">
</form>
</div>
</header>

View File

@@ -0,0 +1,8 @@
<header class="{$TpStyle.dom_prefix}-head3">
<div class="{$TpStyle.dom_prefix}-head3-inner">
<a href="/" class="{$TpStyle.dom_prefix}-head3-logo">FilmHub</a>
<form class="{$TpStyle.dom_prefix}-head3-search" action="/search.html">
<input type="text" name="wd" placeholder="搜索影片…">
</form>
</div>
</header>

View File

@@ -0,0 +1,8 @@
<header class="{$TpStyle.dom_prefix}-head4">
<div class="{$TpStyle.dom_prefix}-head4-inner">
<a href="/" class="{$TpStyle.dom_prefix}-head4-logo">PlayNow</a>
<form class="{$TpStyle.dom_prefix}-head4-search" action="/search.html">
<input type="text" name="wd" placeholder="搜索影片…">
</form>
</div>
</header>

View File

@@ -0,0 +1,8 @@
<header class="{$TpStyle.dom_prefix}-head5">
<div class="{$TpStyle.dom_prefix}-head5-inner">
<a href="/" class="{$TpStyle.dom_prefix}-head5-logo">LiteCinema</a>
<form class="{$TpStyle.dom_prefix}-head5-search" action="/search.html">
<input type="text" name="wd" placeholder="搜索影片…">
</form>
</div>
</header>

View File

@@ -0,0 +1,24 @@
<?php
// 1. 当前模块名(字符串)
$mod = $module;
// 2. 读取该模块的 layout 配置(冻结)
$cfg = $TpStyle['list_layout'][$mod] ?? null;
$listCfg = $TpStyle['list_layout'][$mod] ?? null;
if (!$cfg) return;
// 3. 绑定数据变量(只在这里做一次映射)
$title = $cfg['title_text'] ?? null;
?>
<section class="mod-{$mod}">
{// ===== Title ===== }
{include file="module/list/title/_title_router" /}
{// ===== Shell + Item ===== }
{include file="module/list/shell/_shell_router" /}
</section>
</section>

View File

@@ -0,0 +1,22 @@
{assign name="cfg" value="$TpStyle.template_cfg.list_layout.hot"}
{assign name="title" value="$TpStyle.template_cfg.list_layout.newest.title_text"}
{assign name="variant" value="$TpStyle.template_cfg.list_layout.newest.item_variant"}
{// ===== 把数据注入到 Shell 统一入口 ===== }
{assign name="__LIST__" value="$arrVideoTuijian"}
<section class="mod-hot">
{// ===== Title ===== }
{include file="module/list/title/_title_router" /}
{// ===== Shell + Behavior ===== }
{include file="module/list/shell/_shell_router" /}
</section>
{// ===== 清理,避免污染下一个模块 ===== }
{assign name="__LIST__" value="null"}

View File

@@ -0,0 +1,20 @@
{assign name="cfg" value="$TpStyle.template_cfg.list_layout.newest"}
{assign name="title" value="$TpStyle.template_cfg.list_layout.newest.title_text"}
{assign name="variant" value="$TpStyle.template_cfg.list_layout.newest.item_variant"}
{// ===== 把数据注入到 Shell 统一入口 ===== }
{assign name="__LIST__" value="$arrVideoTuijian"}
<section class="mod-newest">
{// ===== Title ===== }
{include file="module/list/title/_title_router" /}
{// ===== Shell + Behavior ===== }
{include file="module/list/shell/_shell_router" /}
</section>
{// ===== 清理,避免污染下一个模块 ===== }
{assign name="__LIST__" value="null"}

View File

@@ -0,0 +1,22 @@
{assign name="cfg" value="$TpStyle.template_cfg.list_layout.rank"}
{assign name="title" value="$TpStyle.template_cfg.list_layout.newest.title_text"}
{assign name="variant" value="$TpStyle.template_cfg.list_layout.newest.item_variant"}
{// ===== 把数据注入到 Shell 统一入口 ===== }
{assign name="__LIST__" value="$arrVideoTuijian"}
<section class="mod-rank">
{// ===== Title ===== }
{include file="module/list/title/_title_router" /}
{// ===== Shell + Behavior ===== }
{include file="module/list/shell/_shell_router" /}
</section>
{// ===== 清理,避免污染下一个模块 ===== }
{assign name="__LIST__" value="null"}

View File

@@ -0,0 +1,33 @@
{php}
// 统一从 cfg 下发(冻结)
$variant = isset($cfg['item_variant']) ? intval($cfg['item_variant']) : 0;
{/php}
{switch $cfg.item}
{case 01}
{include file="module/list/item/item_01" /}
{/case}
{case 02}
{include file="module/list/item/item_02" /}
{/case}
{case 03}
{include file="module/list/item/item_03" /}
{/case}
{case 04}
{include file="module/list/item/item_04" /}
{/case}
{case 05}
{include file="module/list/item/item_05" /}
{/case}
{default}
{include file="module/list/item/item_01" /}
{/default}
{/switch}

View File

@@ -0,0 +1,223 @@
{if $variant == 0}
{// Variant 0标准卡片 }
<article class="{$TpStyle.dom_prefix}-item poster v0">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img class="lazyload-img" src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 >{$vo.v_name}</h3>
<p>{$vo.v_year}</p>
{notempty name="vo.v_remarks"}<p>{$vo.v_remarks}</p>{/notempty}
</div>
</a>
</article>
{elseif $variant == 1}
{// Variant 1figure 语义 }
<li class="{$TpStyle.dom_prefix}-item poster v1">
<figure>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}" alt="{$vo.v_name}" class="lazyload-img {$TpStyle.dom_prefix}-item-cover">
<figcaption>
<strong >{$vo.v_name}</strong>
<span>{$vo.v_year}</span>
</figcaption>
</a>
</figure>
</li>
{elseif $variant == 2}
{// Variant 2信息前置 }
<div class="{$TpStyle.dom_prefix}-item poster v2">
<div class="{$TpStyle.dom_prefix}-item-info {$TpStyle.dom_prefix}-item-title">
<h3 ><a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" >{$vo.v_name}</a></h3>
<p>{$vo.v_year}</p>
</div>
<div class="{$TpStyle.dom_prefix}-item-cover">
<img class="lazyload-img" src="{$vo.v_pic}">
</div>
</div>
{elseif $variant == 3}
{// Variant 3中间包裹层 }
<div class="{$TpStyle.dom_prefix}-card poster v3">
<div class="{$TpStyle.dom_prefix}-inner">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-thumb">
<img class="lazyload-img {$TpStyle.dom_prefix}-item-cover" src="{$vo.v_pic}">
</div>
<h3>{$vo.v_name}</h3>
</a>
</div>
</div>
{elseif $variant == 4}
{// Variant 4标题包裹 }
<section class="{$TpStyle.dom_prefix}-item poster v4">
<h3 class="{$TpStyle.dom_prefix}-title {$TpStyle.dom_prefix}-item-title">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">{$vo.v_name}</a>
</h3>
<div class="{$TpStyle.dom_prefix}-media {$TpStyle.dom_prefix}-item-cover">
<img class="lazyload-img" src="{$vo.v_pic}">
</div>
</section>
{elseif $variant == 5}
{// Variant 5span + div 混合 }
<div class="{$TpStyle.dom_prefix}-entry poster v5">
<span class="{$TpStyle.dom_prefix}-media ">
<img src="/static/img/load.png"
data-src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
alt="{$vo.v_name ?? ''} - {$vo.v_parent_category ?? ''}{$vo.v_category ?? ''}免费高清电影在线观看" class="{$TpStyle.dom_prefix}-item-cover lazyload-img">
</span>
<div class="{$TpStyle.dom_prefix} meta">
<strong>{$vo.v_name}</strong>
<em>{$vo.v_year}</em>
</div>
</div>
{elseif $variant == 6}
{// Variant 6强文本语义 }
<article class="{$TpStyle.dom_prefix}-item poster v6">
<header class="{$TpStyle.dom_prefix}-item-title">
<h3 >{$vo.v_name}</h3>
</header>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}" class="{$TpStyle.dom_prefix}-item-cover">
</a>
</article>
{elseif $variant == 7}
{// Variant 7反向嵌套 }
<div class="{$TpStyle.dom_prefix}-item poster v7">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
<p>{$vo.v_year}</p>
</div>
<figure>
<img src="{$vo.v_pic}">
</figure>
</a>
</div>
{elseif $variant == 8}
{// Variant 8极简 }
<div class="{$TpStyle.dom_prefix}-item poster v8">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" >
<img src="{$vo.v_pic}">
<span class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</span>
</a>
</div>
{elseif $variant == 9}
{// Variant 9多层包裹 }
<div class="{$TpStyle.dom_prefix}-item poster v9">
<div class="{$TpStyle.dom_prefix}-wrap">
<div class="{$TpStyle.dom_prefix}-cover">
<img src="{$vo.v_pic}">
</div>
<div class="{$TpStyle.dom_prefix}-text">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
<small>{$vo.v_year}</small>
</div>
</div>
</div>
{elseif $variant == 10}
{// Variant 10aside 结构 }
<aside class="{$TpStyle.dom_prefix}-item poster v10">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
</a>
</aside>
{elseif $variant == 11}
{// Variant 11dl / dt / dd }
<dl class="{$TpStyle.dom_prefix}-item poster v11">
<dt>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}">
</a>
</dt>
<dd class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</dd>
</dl>
{elseif $variant == 12}
{// Variant 12section + header }
<section class="{$TpStyle.dom_prefix}-item poster v12">
<header>{$vo.v_name}</header>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}">
</a>
</section>
{elseif $variant == 13}
{// Variant 13figure 无 figcaption }
<figure class="{$TpStyle.dom_prefix}-item poster v13">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}">
</a>
</figure>
{elseif $variant == 14}
{// Variant 14strong 标题 }
<div class="{$TpStyle.dom_prefix}-item poster v14">
<strong class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</strong>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}">
</a>
</div>
{elseif $variant == 15}
{// Variant 15p 包裹 }
<div class="{$TpStyle.dom_prefix}-item poster v15">
<p>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" >
<img src="{$vo.v_pic}">
{$vo.v_name}
</a>
</p>
</div>
{elseif $variant == 16}
{// Variant 16div + data }
<div class="{$TpStyle.dom_prefix}-item poster v16" data-id="{$vo.v_id}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}">
<span class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</span>
</a>
</div>
{elseif $variant == 17}
{// Variant 17h4 }
<div class="{$TpStyle.dom_prefix}-item poster v17">
<h4 >{$vo.v_name}</h4>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}">
</a>
</div>
{elseif $variant == 18}
{// Variant 18纯链接卡 }
<a class="{$TpStyle.dom_prefix}-item poster v18" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}">
<span>{$vo.v_name}</span>
</a>
{else}
{// Variant 19极端自由结构 }
<div class="{$TpStyle.dom_prefix}-box poster v19">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
{$vo.v_name}
<img src="{$vo.v_pic}">
</a>
</div>
{/if}

View File

@@ -0,0 +1,607 @@
{if $variant == 0}
{// V0 标准(你给的母型) }
<article class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</div>
</a>
</article>
{elseif $variant == 1}
{// V1 figure/figcaption 语义化 }
<li class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<figure class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</figure>
<figcaption class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</figcaption>
</a>
</li>
{elseif $variant == 2}
{// V2 信息前置 + 封面后置(结构反转) }
<article class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">{$vo.v_name}</a>
</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</div>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
</a>
</article>
{elseif $variant == 3}
{// V3 多层包裹inner / media / text }
<div class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<div class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-inner">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-media">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
</div>
</a>
<div class="{$TpStyle.dom_prefix}-text">
<h3 class="{$TpStyle.dom_prefix}-item-title">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">{$vo.v_name}</a>
</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</div>
</div>
</div>
</div>
{elseif $variant == 4}
{// V4 header + section 分块 }
<article class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<header class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">{$vo.v_name}</a>
</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
</header>
<section class="{$TpStyle.dom_prefix}-item-cover">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</a>
</section>
<footer class="{$TpStyle.dom_prefix}-item-info">
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</footer>
</article>
{elseif $variant == 5}
{// V5 a 包裹只包 cover标题单独 a双入口 }
<div class="{$TpStyle.dom_prefix}-item {$TpStyle.dom_prefix}-item02-{$variant} item02 {$item_type|default='media'} {$cfg.class|default=''} ">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
</a>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">{$vo.v_name}</a>
</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</div>
</div>
{elseif $variant == 6}
{// V6 nav 风格(技术人员很难一眼归类) }
<nav class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<span class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</span>
<span class="{$TpStyle.dom_prefix}-item-info">
<strong class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</strong>
<span class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</span>
{if isset($vo.v_director[0])}
<span class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</span>
{/if}
{if isset($vo.v_actor[0])}
<span class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</span>
{/if}
</span>
</a>
</nav>
{elseif $variant == 7}
{// V7 aside + main 结构 }
<div class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<aside class="{$TpStyle.dom_prefix}-item-cover">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</a>
</aside>
<main class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">{$vo.v_name}</a>
</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</main>
</div>
{elseif $variant == 8}
{// V8 标题在外层 headerlink 只包内容区 }
<article class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<header class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
</header>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</div>
</a>
</article>
{elseif $variant == 9}
{// V9 切分为两个链接块cover/info 各自 a }
<div class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
</a>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">{$vo.v_name}</a>
</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</div>
</div>
{elseif $variant == 10}
{// V10 dl/dt/dd 语义结构(很“独立站”) }
<div class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
<dl class="{$TpStyle.dom_prefix}-item-info">
<dt class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</dt>
<dd class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</dd>
{if isset($vo.v_director[0])}
<dd class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</dd>
{/if}
{if isset($vo.v_actor[0])}
<dd class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</dd>
{/if}
</dl>
</a>
</div>
{elseif $variant == 11}
{// V11 section + article 嵌套(深度变化) }
<section class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<article>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
</div>
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</div>
</a>
</article>
</section>
{elseif $variant == 12}
{// V12 picture 包裹 + strong/em }
<article class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-cover">
<picture>
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
</picture>
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<strong class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</strong>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</div>
</a>
</article>
{elseif $variant == 13}
{// V13 ul/li 信息块(结构伪装成列表条目) }
<div class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
<ul class="{$TpStyle.dom_prefix}-item-info">
<li class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</li>
<li class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</li>
{if isset($vo.v_director[0])}
<li class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</li>
{/if}
{if isset($vo.v_actor[0])}
<li class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</li>
{/if}
</ul>
</a>
</div>
{elseif $variant == 14}
{// V14 小标题 + 内容块分离(多层) }
<article class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
</div>
<div class="mid">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
</a>
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</div>
</article>
{elseif $variant == 15}
{// V15 强语义header/aside/footer 三段 }
<div class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<header class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">{$vo.v_name}</a>
</h3>
</header>
<aside class="{$TpStyle.dom_prefix}-item-cover">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</a>
</aside>
<footer class="{$TpStyle.dom_prefix}-item-info">
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</footer>
</div>
{elseif $variant == 16}
{// V16 同 class 挂在不同标签(指纹扰动强) }
<article class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<figure class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</figure>
<section class="{$TpStyle.dom_prefix}-item-info">
<p class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</p>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</section>
</a>
</article>
{elseif $variant == 17}
{// V17 双层 link外层 div 伪装) }
<div class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<div class="{$TpStyle.dom_prefix}-item-link">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
</a>
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">{$vo.v_name}</a>
</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</div>
</div>
{elseif $variant == 18}
{// V18 compact 文本强:标题/信息同级 }
<article class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
<div class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])}<span> · {$vo.v_area[0]}</span>{/if}
</div>
<div class="stack">
{if isset($vo.v_director[0])}
<div class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</div>
{/if}
{if isset($vo.v_actor[0])}
<div class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</div>
{/if}
</div>
</div>
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
</a>
</article>
{else}
{// V19 最终扰动ol/li 语义(但仍然是单 item }
<ol class="{$TpStyle.dom_prefix}-item item02 {$item_type|default='media'} {$cfg.class|default=''}">
<li>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item-link">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}">
{notempty name="vo.v_score"}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_score}</span>
{/notempty}
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{notempty name="vo.v_year"}{$vo.v_year}{/notempty}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
{if isset($vo.v_director[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">导演:{$vo.v_director[0]}</p>
{/if}
{if isset($vo.v_actor[0])}
<p class="{$TpStyle.dom_prefix}-item-extra">主演:{$vo.v_actor[0]}</p>
{/if}
</div>
</a>
</li>
</ol>
{/if}

View File

@@ -0,0 +1,136 @@
{if $variant == 0}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</div>
{elseif $variant == 1}
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}" class="{$TpStyle.dom_prefix}-rank-link">
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<span class="{$TpStyle.dom_prefix}-rank-title">{$vo.v_name}</span>
</div>
</a>
{elseif $variant == 2}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
<span>{$vo.v_name}</span>
</a>
</div>
{elseif $variant == 3}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<p>
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</p>
</div>
{elseif $variant == 4}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
<strong>{$vo.v_name}</strong>
</a>
</div>
{elseif $variant == 5}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
<em>{$vo.v_name}</em>
</a>
</div>
{elseif $variant == 6}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<div class="{$TpStyle.dom_prefix}-rank-title">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</div>
</div>
{elseif $variant == 7}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<div class="{$TpStyle.dom_prefix}-rank-wrap">
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</div>
</div>
{elseif $variant == 8}
<section class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</section>
{elseif $variant == 9}
<article class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</article>
{elseif $variant == 10}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<header>
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</header>
</div>
{elseif $variant == 11}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<footer>
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</footer>
</div>
{elseif $variant == 12}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
<small>{$vo.v_name}</small>
</a>
</div>
{elseif $variant == 13}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}<br>
</a>
</div>
{elseif $variant == 14}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
<span class="{$TpStyle.dom_prefix}-t1">{$vo.v_name}</span>
</a>
</div>
{elseif $variant == 15}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</div>
{elseif $variant == 16}
<div class="{$TpStyle.dom_prefix}-item rank rank-title v{$variant}">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</div>
{elseif $variant == 17}
<nav class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</nav>
{elseif $variant == 18}
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
<label>
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</label>
</div>
{else}
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
<div class="{$TpStyle.dom_prefix}-item rank v{$variant}">
{$vo.v_name}
</div>
</a>
{/if}

View File

@@ -0,0 +1,239 @@
{if $variant == 0}
{// Variant 00原始基准 }
<article class="{$TpStyle.dom_prefix}-item poster score">
<a class="{$TpStyle.dom_prefix}-item-link"
href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}"
title="{$vo.v_name}">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}" loading="lazy"/>
{if isset($vo.v_level)}
<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_level}</span>
{/if}
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
<div class="{$TpStyle.dom_prefix}-item-meta">
{if isset($vo.v_year)}<span>{$vo.v_year}</span>{/if}
{if isset($vo.v_area[0])}<span>{$vo.v_area[0]}</span>{/if}
</div>
</div>
</a>
</article>
{elseif $variant == 1}
{// Variant 01article → section }
<section class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
{if isset($vo.v_level)}<em class="{$TpStyle.dom_prefix}-item-score">{$vo.v_level}</em>{/if}
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
</div>
</a>
</section>
{elseif $variant == 2}
{// Variant 02a 外包 }
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}" class="{$TpStyle.dom_prefix}-item poster score">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
{if isset($vo.v_level)}<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_level}</span>{/if}
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
</div>
</a>
{elseif $variant == 3}
{// Variant 03header / footer }
<article class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<header class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
</header>
<footer class="{$TpStyle.dom_prefix}-item-info">
<strong class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</strong>
{if isset($vo.v_level)}<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_level}</span>{/if}
</footer>
</a>
</article>
{elseif $variant == 4}
{// Variant 04figure / figcaption }
<article class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<figure class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
{if isset($vo.v_level)}<figcaption class="{$TpStyle.dom_prefix}-item-score">{$vo.v_level}</figcaption>{/if}
</figure>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
</div>
</a>
</article>
{elseif $variant == 5}
{// Variant 05meta 改为 p }
<article class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
<p class="{$TpStyle.dom_prefix}-item-meta">
{if isset($vo.v_year)}{$vo.v_year}{/if}
{if isset($vo.v_area[0])} · {$vo.v_area[0]}{/if}
</p>
</div>
</a>
</article>
{elseif $variant == 6}
{// Variant 06strong title }
<article class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<strong class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</strong>
</div>
</a>
</article>
{elseif $variant == 7}
{// Variant 07div 层级加深 }
<article class="{$TpStyle.dom_prefix}-item poster score">
<div class="{$TpStyle.dom_prefix}-wrap">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
</div>
<div class="{$TpStyle.dom_prefix}-item-info">
<h3 class="{$TpStyle.dom_prefix}-item-title">{$vo.v_name}</h3>
</div>
</a>
</div>
</article>
{elseif $variant == 8}
{// Variant 08nav }
<nav class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
<span>{$vo.v_name}</span>
</a>
</nav>
{elseif $variant == 9}
{// Variant 09small meta }
<article class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
</div>
<small>{$vo.v_name}</small>
</a>
</article>
{elseif $variant == 10}
{// Variant 10title 在 cover 内 }
<article class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-item-cover">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
<span class="title-inside">{$vo.v_name}</span>
</div>
</a>
</article>
{elseif $variant == 11}
{// Variant 11去 info }
<article class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
<h3 >{$vo.v_name}</h3>
</a>
</article>
{elseif $variant == 12}
{// Variant 12score 提前 }
<article class="{$TpStyle.dom_prefix}-item poster score">
{if isset($vo.v_level)}<span class="{$TpStyle.dom_prefix}-item-score">{$vo.v_level}</span>{/if}
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
<h3>{$vo.v_name}</h3>
</a>
</article>
{elseif $variant == 13}
{// Variant 13em title }
<article class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
<em>{$vo.v_name}</em>
</a>
</article>
{elseif $variant == 14}
{// Variant 14多 span }
<article class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<span class="{$TpStyle.dom_prefix}-img">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
</span>
<span class="txt">{$vo.v_name}</span>
</a>
</article>
{elseif $variant == 15}
{// Variant 15article 外包 }
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<article class="{$TpStyle.dom_prefix}-item poster score">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
<span>{$vo.v_name}</span>
</article>
</a>
{elseif $variant == 16}
{// Variant 16section + h4 }
<section class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
<h4>{$vo.v_name}</h4>
</a>
</section>
{elseif $variant == 17}
{// Variant 17p title }
<article class="{$TpStyle.dom_prefix}-item poster score">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
<p>{$vo.v_name}</p>
</a>
</article>
{elseif $variant == 18}
{// Variant 18label }
<article class="{$TpStyle.dom_prefix}-item poster score">
<label>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<img src="{$vo.v_pic}" alt="{$vo.v_name}"/>
{$vo.v_name}
</a>
</label>
</article>
{else}
{// Variant 19极简反转 }
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en' /}">
<div class="{$TpStyle.dom_prefix}-item poster score">
{$vo.v_name}
</div>
</a>
{/if}

View File

@@ -0,0 +1,158 @@
{if $variant == 0}
{// Variant 00原始基准 }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} {if $i <= 3}top{/if}">
<span class="{$TpStyle.dom_prefix}-rank-no">{$i}</span>
<a class="{$TpStyle.dom_prefix}-rank-title" href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</div>
{elseif $variant == 1}
{// Variant 01article }
<article class="{$TpStyle.dom_prefix}-item rank v{$variant} {if $i <= 3}top{/if}">
<span class="{$TpStyle.dom_prefix}-rank-no">{$i}</span>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</article>
{elseif $variant == 2}
{// Variant 02a 外包 }
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}" class="{$TpStyle.dom_prefix}-item rank v{$variant} {if $i <= 3}top{/if}">
<span class="{$TpStyle.dom_prefix}-rank-no">{$i}</span>
<span class="{$TpStyle.dom_prefix}-rank-title">{$vo.v_name}</span>
</a>
{elseif $variant == 3}
{// Variant 03header / footer }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} {if $i <= 3}top{/if}">
<header class="{$TpStyle.dom_prefix}-rank-no">{$i}</header>
<footer>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</footer>
</div>
{elseif $variant == 4}
{// Variant 04strong }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<strong class="{$TpStyle.dom_prefix}-rank-no">{$i}</strong>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$vo.v_name}
</a>
</div>
{elseif $variant == 5}
{// Variant 05em }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<em class="{$TpStyle.dom_prefix}-rank-no">{$i}</em>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</div>
{elseif $variant == 6}
{// Variant 06p 包裹 }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} {if $i <= 3}top{/if}">
<p>
<span class="{$TpStyle.dom_prefix}-rank-no">{$i}</span>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</p>
</div>
{elseif $variant == 7}
{// Variant 07div 层级 }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<div class="{$TpStyle.dom_prefix}-rank-no">{$i}</div>
<div class="{$TpStyle.dom_prefix}-rank-main">
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</div>
</div>
{elseif $variant == 8}
{// Variant 08nav }
<nav class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<span>{$i}</span>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</nav>
{elseif $variant == 9}
{// Variant 09small }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<small>{$i}</small>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</div>
{elseif $variant == 10}
{// Variant 10label }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<label>
<span>{$i}</span>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</label>
</div>
{elseif $variant == 11}
{// Variant 11section }
<section class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<span class="{$TpStyle.dom_prefix}-rank-no">{$i}</span>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</section>
{elseif $variant == 12}
{// Variant 12h4 }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<span>{$i}</span>
<h4>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</h4>
</div>
{elseif $variant == 13}
{// Variant 13strong title }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<span>{$i}</span>
<strong>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</strong>
</div>
{elseif $variant == 14}
{// Variant 14span 全包 }
<span class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<span class="{$TpStyle.dom_prefix}-rank-no">{$i}</span>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</span>
{elseif $variant == 15}
{// Variant 15a + em }
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}" class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<em>{$i}</em>
{$vo.v_name}
</a>
{elseif $variant == 16}
{// Variant 16li }
<li class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
<span>{$i}</span>
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</li>
{elseif $variant == 17}
{// Variant 17div + data }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} " >
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">
{$i}. {$vo.v_name}
</a>
</div>
{elseif $variant == 18}
{// Variant 18text 优先 }
<div class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
{$i}
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}">{$vo.v_name}</a>
</div>
{else}
{// Variant 19极简 }
<a href="{site:vurl v_id='$vo.v_id' v_py='$vo.v_name_en'/}" class="{$TpStyle.dom_prefix}-item rank v{$variant} ">
{$i}. {$vo.v_name}
</a>
{/if}

View File

@@ -0,0 +1,23 @@
{switch $cfg.shell}
{case A}
{include file="module/list/shell/shell_A" /}
{/case}
{case B}
{include file="module/list/shell/shell_B" /}
{/case}
{case C}
{include file="module/list/shell/shell_C" /}
{/case}
{case D}
{include file="module/list/shell/shell_D" /}
{/case}
{default}
{include file="module/list/shell/shell_A" /}
{/default}
{/switch}

View File

@@ -0,0 +1,18 @@
<section class="{$TpStyle.dom_prefix}-shellA {$cfg.class}">
{notempty name="__LIST__"}
<div class="{$TpStyle.dom_prefix}-list"
data-max-lg="{$listCfg.layout.max.lg}"
data-max-md="{$listCfg.layout.max.md}"
data-max-sm="{$listCfg.layout.max.sm}"
data-max-h5="{$listCfg.layout.max.h5}"
style="--cols-lg: {$listCfg.grid.cols_pc_lg};--cols-md: {$listCfg.grid.cols_pc_md};--cols-sm: {$listCfg.grid.cols_pc_sm};--cols-h5: {$listCfg.grid.cols_h5};">
{volist name="__LIST__" id="vo" key="i"}
{// 这里由上层决定具体使用哪一个 item 模板 }
{assign name="item_type" value="$cfg.item_type|default='poster'"}
{include file="module/list/item/_item_router" /}
{/volist}
</div>
{/notempty}
</section>

View File

@@ -0,0 +1,16 @@
<section class="{$TpStyle.dom_prefix}-shellB {$cfg.class}" >
{notempty name="__LIST__"}
<div class="{$TpStyle.dom_prefix}-list"
data-max-lg="{$listCfg.layout.max.lg}"
data-max-md="{$listCfg.layout.max.md}"
data-max-sm="{$listCfg.layout.max.sm}"
data-max-h5="{$listCfg.layout.max.h5}"
style="--cols-lg: {$listCfg.grid.cols_pc_lg};--cols-md: {$listCfg.grid.cols_pc_md};--cols-sm: {$listCfg.grid.cols_pc_sm};--cols-h5: {$listCfg.grid.cols_h5};">
{volist name="__LIST__" id="vo" key="i"}
{// Item 模板由上层决定,如 item_01 / item_04 }
{assign name="item_type" value="$cfg.item_type|default='poster'"}
{include file="module/list/item/_item_router" /}
{/volist}
</div>
{/notempty}
</section>

View File

@@ -0,0 +1,17 @@
<section class="{$TpStyle.dom_prefix}-shellC {$cfg.class}">
{notempty name="__LIST__"}
<ol class="{$TpStyle.dom_prefix}-list"
data-max-lg="{$listCfg.layout.max.lg}"
data-max-md="{$listCfg.layout.max.md}"
data-max-sm="{$listCfg.layout.max.sm}"
data-max-h5="{$listCfg.layout.max.h5}"
style="--cols-lg: {$listCfg.grid.cols_pc_lg};--cols-md: {$listCfg.grid.cols_pc_md};--cols-sm: {$listCfg.grid.cols_pc_sm};--cols-h5: {$listCfg.grid.cols_h5};">
{volist name="__LIST__" id="vo" key="i"}
{// 榜单类推荐 item_03 / item_05 }
{assign name="item_type" value="$cfg.item_type|default='poster'"}
{include file="module/list/item/_item_router" /}
{/volist}
</ol>
{/notempty}
</section>

View File

@@ -0,0 +1,32 @@
<section class="{$TpStyle.dom_prefix}-shellD {$cfg.class}" >
{notempty name="__GROUPS__"}
{volist name="__GROUPS__" id="group"}
<div class="{$TpStyle.dom_prefix}-shellD-group">
{notempty name="group.title"}
<header class="{$TpStyle.dom_prefix}-shellD-head">
<h3 class="{$TpStyle.dom_prefix}-shellD-title">
{$group.title}
</h3>
</header>
{/notempty}
{notempty name="group.list"}
<div class="{$TpStyle.dom_prefix}-shellD-body {$TpStyle.dom_prefix}-list"
data-max-lg="{$listCfg.layout.max.lg}"
data-max-md="{$listCfg.layout.max.md}"
data-max-sm="{$listCfg.layout.max.sm}"
data-max-h5="{$listCfg.layout.max.h5}"
style="--cols-lg: {$listCfg.grid.cols_pc_lg};--cols-md: {$listCfg.grid.cols_pc_md};--cols-sm: {$listCfg.grid.cols_pc_sm};--cols-h5: {$listCfg.grid.cols_h5};">
{volist name="group.list" id="vo" key="i"}
{// Item 模板由上层决定 }
{assign name="item_type" value="$cfg.item_type|default='poster'"}
{include file="module/list/item/_item_router" /}
{/volist}
</div>
{/notempty}
</div>
{/volist}
{/notempty}
</section>

View File

@@ -0,0 +1,27 @@
{switch $cfg.title}
{case A}
{include file="module/list/title/title_A" /}
{/case}
{case B}
{include file="module/list/title/title_B" /}
{/case}
{case C}
{include file="module/list/title/title_C" /}
{/case}
{case D}
{include file="module/list/title/title_D" /}
{/case}
{case E}
{include file="module/list/title/title_E" /}
{/case}
{default}
{include file="module/list/title/title_A" /}
{/default}
{/switch}

View File

@@ -0,0 +1,10 @@
<header class="{$TpStyle.dom_prefix}-titleA">
<h2 class="{$TpStyle.dom_prefix}-titleA-main">
{$title.primary}
</h2>
{notempty name="title.secondary"}
<p class="{$TpStyle.dom_prefix}-titleA-sub">
{$title.secondary}
</p>
{/notempty}
</header>

View File

@@ -0,0 +1,6 @@
<header class="{$TpStyle.dom_prefix}-titleB">
<h2>{$title.primary}</h2>
{notempty name="title.secondary"}
<span>{$title.secondary}</span>
{/notempty}
</header>

View File

@@ -0,0 +1,3 @@
<header class="{$TpStyle.dom_prefix}-titleC">
<h2>{$title.seo}</h2>
</header>

View File

@@ -0,0 +1,4 @@
<header class="{$TpStyle.dom_prefix}-titleD">
<i class="{$TpStyle.dom_prefix}-titleD-icon"></i>
<h2>{$title.primary}</h2>
</header>

View File

@@ -0,0 +1,4 @@
<header class="{$TpStyle.dom_prefix}-titleE">
<strong class="{$TpStyle.dom_prefix}-titleE-rank">TOP</strong>
<h2>{$title.primary}</h2>
</header>

View File

@@ -0,0 +1,21 @@
<header class="{$TpStyle.dom_prefix}-titleF">
<div class="{$TpStyle.dom_prefix}-titleF-left">
<h3 class="{$TpStyle.dom_prefix}-titleF-main">
{$title.primary}
</h3>
{if !empty($title.secondary)}
<span class="{$TpStyle.dom_prefix}-titleF-sub">
{$title.secondary}
</span>
{/if}
</div>
{if !empty($moreUrl)}
<div class="{$TpStyle.dom_prefix}-titleF-more">
<a href="{$moreUrl}" rel="nofollow">
{$moreText|default='更多'}
</a>
</div>
{/if}
</header>

Binary file not shown.

View File

@@ -0,0 +1,15 @@
<section class="{$TpStyle.dom_prefix}-n1-box">
<h3 class="{$TpStyle.dom_prefix}-n1-title">最新更新</h3>
<div class="{$TpStyle.dom_prefix}-n1-grid">
{volist name="arrVideoNewest" id="vo" offset="0" length="8"}
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-n1-card">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
class="{$TpStyle.dom_prefix}-n1-img"
alt="{$vo.v_name}">
<p>{$vo.v_name}</p>
</a>
{/volist}
</div>
</section>

View File

@@ -0,0 +1,14 @@
<div class="{$TpStyle.dom_prefix}-n2-wrap">
<header class="{$TpStyle.dom_prefix}-n2-hd">最新上线</header>
<div class="{$TpStyle.dom_prefix}-n2-scroll">
{volist name="arrVideoNewest" id="vo" offset="0" length="12"}
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-n2-item">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
class="{$TpStyle.dom_prefix}-n2-img">
<span>{$vo.v_name}</span>
</a>
{/volist}
</div>
</div>

View File

@@ -0,0 +1,17 @@
<article class="{$TpStyle.dom_prefix}-n3-area">
<h3 class="{$TpStyle.dom_prefix}-n3-title">今日更新</h3>
<div class="{$TpStyle.dom_prefix}-n3-list">
{volist name="arrVideoNewest" id="vo" offset="0" length="6"}
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-n3-row">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
class="{$TpStyle.dom_prefix}-n3-cover">
<div class="{$TpStyle.dom_prefix}-n3-info">
<h4>{$vo.v_name}</h4>
<p>全新剧集已更新</p>
</div>
</a>
{/volist}
</div>
</article>

View File

@@ -0,0 +1,16 @@
<section class="{$TpStyle.dom_prefix}-n4-sec">
<h3 class="{$TpStyle.dom_prefix}-n4-hd">更新速递</h3>
<ul class="{$TpStyle.dom_prefix}-n4-grid">
{volist name="arrVideoNewest" id="vo" offset="0" length="9"}
<li>
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-n4-a">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
class="{$TpStyle.dom_prefix}-n4-img">
<p>{$vo.v_name}</p>
</a>
</li>
{/volist}
</ul>
</section>

View File

@@ -0,0 +1,12 @@
<div class="{$TpStyle.dom_prefix}-n5-wrap">
<header class="{$TpStyle.dom_prefix}-n5-hd">最新上架</header>
<div class="{$TpStyle.dom_prefix}-n5-items">
{volist name="arrVideoNewest" id="vo" offset="0" length="10"}
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-n5-line">
<span class="{$TpStyle.dom_prefix}-n5-dot"></span>
<span class="{$TpStyle.dom_prefix}-n5-name">{$vo.v_name}</span>
</a>
{/volist}
</div>
</div>

View File

@@ -0,0 +1,61 @@
{volist name="pageCfg.modules" id="module"}
{switch $module}
{case value="seowords"}
{include file="module/seowords/seowords_router" /}
{/case}
{case value="breadcrumb"}
{include file="module/breadcrumb/breadcrumb_router" /}
{/case}
{case value="detail_main"}
{include file="module/detail_main/detail_main_router" /}
{/case}
{case value="player"}
{include file="module/player/player_router" /}
{/case}
{case value="playline"}
{include file="module/playline/playline_router" /}
{/case}
{case value="list"}
{notempty name="pageCfg.list.modules"}
{volist name="pageCfg.list.modules" id="module"}
{assign name="cfg" value="$TpStyle.template_cfg.list_layout[$module]"}
{assign name="title" value="$cfg.title_text"}
{include file="module/list/title/title_A" /}
{assign name="listCfg" value="$TpStyle.list_layout[$module]" /}
{assign name="limit" value="$cfg['layout']['max_items']"}
{if $module == 'rank'}
{video:ranklistexp count="$limit" sort_type="weekly" d_key="key" d_val="Video" cache_life="3600" v_parent_category_en="$Request.route.strParentCategory"
export_name="__LIST__" /}
{else/}
{video:listexp count="$limit" sort_type="$module" d_key="key" d_val="Video" cache_life="3600" v_parent_category_en="$Request.route.strParentCategory"
export_name="__LIST__" /}
{/if}
{include file="module/list/shell/_shell_router" /}
{/volist}
{/notempty}
{/case}
{/switch}
{/volist}

View File

@@ -0,0 +1,67 @@
{php}
// cfg 统一入口
$family = $pagerCfg['family'] ?? 'numeric';
$variant = isset($pagerCfg['variant']) ? intval($pagerCfg['variant']) : 0;
$tone = isset($pagerCfg['tone']) ? intval($pagerCfg['tone']) : 1;
// 1. 基础数据
$pagerArr = $pagerArr ?? [];
$page = $page ?? 1;
$pages = $pages ?? 1;
// 3. 计算首页 / 末页 URL
$first_url = null;
$last_url = null;
foreach ($pagerArr as $it) {
if ($it['type'] === 'page') {
if ($first_url === null) $first_url = $it['url'] ?? null;
$last_url = $it['url'] ?? $last_url;
}
}
// 4. ★ 核心:统一生成 baseCls一次性解决 Undefined $baseCls
$baseCls = $TpStyle['dom_prefix']
. '-pager '
. 'pg-' . $family
. ' tone-' . intval($tone)
. ' v' . intval($variant);
// 没数据就不渲染
if (empty($pagerArr) || $pages <= 1) {
return;
}
{/php}
{switch $family}
{case value="numeric"}
{include file="module/pager/pager_numeric" /}
{/case}
{case value="pill"}
{include file="module/pager/pager_pill" /}
{/case}
{case value="block"}
{include file="module/pager/pager_block" /}
{/case}
{case value="input"}
{include file="module/pager/pager_input" /}
{/case}
{case value="minimal"}
{include file="module/pager/pager_minimal" /}
{/case}
{default}
{include file="module/pager/pager_numeric" /}
{/default}
{/switch}

View File

@@ -0,0 +1,739 @@
{switch $variant}
{case value="0"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</div>
</section>
{/case}
{case value="1"}
<div class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</div>
{/case}
{case value="2"}
<aside class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Back</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Back</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">More</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>More</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</aside>
{/case}
{case value="3"}
<footer class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</div>
</footer>
{/case}
{case value="4"}
<nav class="{$baseCls}" aria-label="Pagination">
<ul class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ul>
</nav>
{/case}
{case value="5"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ol>
</section>
{/case}
{case value="6"}
<div class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Back</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Back</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">More</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>More</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</div>
</div>
{/case}
{case value="7"}
<aside class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</aside>
{/case}
{case value="8"}
<footer class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</footer>
{/case}
{case value="9"}
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</div>
</nav>
{/case}
{case value="10"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ul class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Back</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Back</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">More</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>More</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ul>
</section>
{/case}
{case value="11"}
<div class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ol>
</div>
{/case}
{case value="12"}
<aside class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</div>
</aside>
{/case}
{case value="13"}
<footer class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</footer>
{/case}
{case value="14"}
<nav class="{$baseCls}" aria-label="Pagination">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Back</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Back</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">More</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>More</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</nav>
{/case}
{case value="15"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</div>
</section>
{/case}
{case value="16"}
<div class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ul>
</div>
{/case}
{case value="17"}
<aside class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ol>
</aside>
{/case}
{case value="18"}
<footer class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Back</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Back</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">More</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>More</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</div>
</footer>
{/case}
{case value="19"}
<nav class="{$baseCls}" aria-label="Pagination">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</nav>
{/case}
{default}
<nav class="{$baseCls}" aria-label="Pagination">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</nav>
{/default}
{/switch}

View File

@@ -0,0 +1,837 @@
{switch $variant}
{case value="0"}
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ul class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</ul>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_url ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</nav>
{/case}
{case value="1"}
<section class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</section>
{/case}
{case value="2"}
<div class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<div class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</div>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_url ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</div>
{/case}
{case value="3"}
<aside class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ul>
</aside>
{/case}
{case value="4"}
<footer class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</ol>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_url ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</footer>
{/case}
{case value="5"}
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</div>
</nav>
{/case}
{case value="6"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ul class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</ul>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_url ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</section>
{/case}
{case value="7"}
<div class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</div>
{/case}
{case value="8"}
<aside class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<div class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</div>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_url ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</aside>
{/case}
{case value="9"}
<footer class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ul>
</footer>
{/case}
{case value="10"}
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</ol>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_url ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</nav>
{/case}
{case value="11"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</div>
</section>
{/case}
{case value="12"}
<div class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ul class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</ul>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_url ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</div>
{/case}
{case value="13"}
<aside class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</aside>
{/case}
{case value="14"}
<footer class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<div class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</div>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_url ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</footer>
{/case}
{case value="15"}
<nav class="{$baseCls}" aria-label="Pagination">
<ul class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ul>
</nav>
{/case}
{case value="16"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</ol>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_url ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</section>
{/case}
{case value="17"}
<div class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</div>
</div>
{/case}
{case value="18"}
<aside class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ul class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</ul>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_url ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</aside>
{/case}
{case value="19"}
<footer class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</footer>
{/case}
{default}
<footer class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</footer>
{/default}
{/switch}

View File

@@ -0,0 +1,732 @@
{switch $variant}
{case value="0"}
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</nav>
{/case}
{case value="1"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</div>
</section>
{/case}
{case value="2"}
<div class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</ul>
</div>
{/case}
{case value="3"}
<aside class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ol>
</aside>
{/case}
{case value="4"}
<footer class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</div>
</footer>
{/case}
{case value="5"}
<nav class="{$baseCls}" aria-label="Pagination">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</nav>
{/case}
{case value="6"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</ol>
</section>
{/case}
{case value="7"}
<div class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</div>
</div>
{/case}
{case value="8"}
<aside class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ul>
</aside>
{/case}
{case value="9"}
<footer class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ol>
</footer>
{/case}
{case value="10"}
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</div>
</nav>
{/case}
{case value="11"}
<section class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</section>
{/case}
{case value="12"}
<div class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</div>
{/case}
{case value="13"}
<aside class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</div>
</aside>
{/case}
{case value="14"}
<footer class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</ul>
</footer>
{/case}
{case value="15"}
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ol>
</nav>
{/case}
{case value="16"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</div>
</section>
{/case}
{case value="17"}
<div class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</div>
{/case}
{case value="18"}
<aside class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</ol>
</aside>
{/case}
{case value="19"}
<footer class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</div>
</footer>
{/case}
{default}
<footer class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</div>
</footer>
{/default}
{/switch}

View File

@@ -0,0 +1,878 @@
{switch $variant}
{case value="0"}
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</nav>
{/case}
{case value="1"}
<section class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_urll ?? '#'}">首页</a>
</li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a>
</li>
</ul>
</section>
{/case}
{case value="2"}
{// Variant 02 }
<div class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ol>
</div>
{/case}
{case value="3"}
{// Variant 03 }
<aside class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_urll ?? '#'}">首页</a>
</li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a>
</li>
</ol>
</aside>
{/case}
{case value="4"}
{// Variant 04 }
<footer class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</div>
</footer>
{/case}
{case value="5"}
{// Variant 05 }
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_urll ?? '#'}">首页</a>
</span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a>
</span>
</div>
</nav>
{/case}
{case value="6"}
{// Variant 06 }
<section class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</section>
{/case}
{case value="7"}
{// Variant 07 }
<div class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_urll ?? '#'}">首页</a>
</li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a>
</li>
</ul>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_urll ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</div>
{/case}
{case value="8"}
{// Variant 08 }
<aside class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ol>
</aside>
{/case}
{case value="9"}
{// Variant 09 }
<footer class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_urll ?? '#'}">首页</a>
</li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a>
</li>
</ol>
</footer>
{/case}
{case value="10"}
{// Variant 10 }
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</div>
</nav>
{/case}
{case value="11"}
{// Variant 11 }
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_urll ?? '#'}">首页</a>
</span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a>
</span>
</div>
</section>
{/case}
{case value="12"}
{// Variant 12 }
<div class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</div>
{/case}
{case value="13"}
{// Variant 13 }
<aside class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_urll ?? '#'}">首页</a>
</li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a>
</li>
</ul>
</aside>
{/case}
{case value="14"}
{// Variant 14 }
<footer class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ol>
</footer>
{/case}
{case value="15"}
{// Variant 15 }
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_urll ?? '#'}">首页</a>
</li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a>
</li>
</ol>
</nav>
{/case}
{case value="16"}
{// Variant 16 }
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</div>
</section>
{/case}
{case value="17"}
{// Variant 17 }
<div class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_urll ?? '#'}">首页</a>
</span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a>
</span>
</div>
<div class="{$TpStyle.dom_prefix}-pg-jump" data-pages="{$pages}">
<label>跳到</label>
<input class="{$TpStyle.dom_prefix}-pg-inp" type="number" min="1" max="{$pages}" value="{$page}">
<button class="{$TpStyle.dom_prefix}-pg-btn" type="button"
onclick="(function(btn){var wrap=btn.parentNode;var inp=wrap.querySelector('input');var max=parseInt(wrap.getAttribute('data-pages')||1);var p=parseInt(inp.value||1);p=Math.max(1,Math.min(max,p));var u='{:$first_urll ?? '#'}';if(!u){return;}u=u.replace(/page\d+$/i,'page'+p);window.location.href=u;})(this)">确定</button>
</div>
</div>
{/case}
{case value="18"}
{// Variant 18 }
<aside class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</aside>
{/case}
{case value="19"}
{// Variant 19 }
<footer class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_urll ?? '#'}">首页</a>
</li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a>
</li>
</ul>
</footer>
{/case}
{default}
<footer class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_urll ?? '#'}">首页</a>
</li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</li>
{elseif $it.type=="next"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</li>
{elseif $it.type=="page"}
<li
class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge">
<a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a>
</li>
</ul>
</footer>
{/default}
{/switch}

View File

@@ -0,0 +1,736 @@
{switch $variant}
{case value="0"}
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</nav>
{/case}
{case value="1"}
<section class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</section>
{/case}
{case value="2"}
<div class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Prev</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Prev</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Next</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Next</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</div>
</div>
{/case}
{case value="3"}
<aside class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</ul>
</aside>
{/case}
{case value="4"}
<footer class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</ol>
</footer>
{/case}
{case value="5"}
<nav class="{$baseCls}" aria-label="Pagination">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</div>
</nav>
{/case}
{case value="6"}
<section class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Prev</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Prev</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Next</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Next</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</section>
{/case}
{case value="7"}
<div class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</div>
{/case}
{case value="8"}
<aside class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</div>
</aside>
{/case}
{case value="9"}
<footer class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</ul>
</footer>
{/case}
{case value="10"}
<nav class="{$baseCls}" aria-label="Pagination">
<ol class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Prev</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Prev</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Next</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Next</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</ol>
</nav>
{/case}
{case value="11"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</div>
</section>
{/case}
{case value="12"}
<div class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</div>
{/case}
{case value="13"}
<aside class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</aside>
{/case}
{case value="14"}
<footer class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Prev</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Prev</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Next</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Next</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</div>
</footer>
{/case}
{case value="15"}
<nav class="{$baseCls}" aria-label="Pagination">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</ul>
</nav>
{/case}
{case value="16"}
<section class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg-summary">第 {$page} / {$pages} 页</div>
<ol class="{$TpStyle.dom_prefix}-pg">
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></li>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">«</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>«</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">»</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>»</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
<li class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></li>
</ol>
</section>
{/case}
{case value="17"}
<div class="{$baseCls}">
<div class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">上一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>上一页</a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">下一页</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>下一页</a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
</div>
</div>
{/case}
{case value="18"}
<aside class="{$baseCls}">
<ul class="{$TpStyle.dom_prefix}-pg">
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Prev</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Prev</a>
{/if}
</li>
{elseif $it.type=="next"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true">Next</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}>Next</a>
{/if}
</li>
{elseif $it.type=="page"}
<li class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</li>
{/if}
{/volist}
</ul>
</aside>
{/case}
{case value="19"}
<footer class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</footer>
{/case}
{default}
<footer class="{$baseCls}">
<ol class="{$TpStyle.dom_prefix}-pg">
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$first_url ?? '#'}">首页</a></span>
{volist name="pagerArr" id="it"}
{if $it.type=="prev"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="next"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.disabled) || empty($it.url)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-disabled="true"></span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}" {if !empty($it.rel)}rel="{$it.rel}" {/if}></a>
{/if}
</span>
{elseif $it.type=="page"}
<span class="{$TpStyle.dom_prefix}-pg-it {if !empty($it.current)}is-current{/if} {if !empty($it.disabled)}is-disabled{/if}">
{if !empty($it.current)}
<span class="{$TpStyle.dom_prefix}-pg-a" aria-current="page">{$it.label}</span>
{else/}
<a class="{$TpStyle.dom_prefix}-pg-a" href="{$it.url}">{$it.label}</a>
{/if}
</span>
{/if}
{/volist}
<span class="{$TpStyle.dom_prefix}-pg-it is-edge"><a class="{$TpStyle.dom_prefix}-pg-a" href="{:$last_url ?? '#'}">末页</a></span>
</ol>
</footer>
{/default}
{/switch}

View File

@@ -0,0 +1,115 @@
<article class="{$TpStyle.dom_prefix}-p1-wrap">
{// 顶部区域:封面 + 简介 }
<header class="{$TpStyle.dom_prefix}-p1-header">
<figure class="{$TpStyle.dom_prefix}-p1-poster">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
</figure>
<section class="{$TpStyle.dom_prefix}-p1-info">
<h1>{$arrVideo.v_name}</h1>
<p class="{$TpStyle.dom_prefix}-p1-meta">
<span>{$arrVideo.v_category}</span>
<span>{$arrVideo.v_area}</span>
<span>{$arrVideo.v_year}</span>
</p>
<p class="{$TpStyle.dom_prefix}-p1-des">
{$arrVideo.v_description|raw}
</p>
</section>
</header>
{// 播放器容器 }
<section class="{$TpStyle.dom_prefix}-p1-playerbox">
<div id="dplayer" class="{$TpStyle.dom_prefix}-p1-dp"></div>
</section>
{// 播放线路导航 }
<nav class="{$TpStyle.dom_prefix}-p1-lines">
<?php $lineIndex=0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType}
<?php $lineIndex++; ?>
<a class="{$TpStyle.dom_prefix}-p1-linebtn
{eq name='$lineIndex' value='1'}active{/eq}"
onclick="p1SwitchLine('{$strPlayGroupName}', this)">
{$strPlayGroupName}
</a>
{/foreach}
</nav>
{// 集数列表 }
<section class="{$TpStyle.dom_prefix}-p1-episodes">
<?php $lineIndex = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType}
<?php $lineIndex++; ?>
<ul class="{$TpStyle.dom_prefix}-p1-elist
{eq name='$lineIndex' value='1'}active{/eq}"
id="p1-list-{$strPlayGroupName}">
<?php $epIndex=0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $epIndex++; ?>
<li>
<a href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$epIndex"
/}'
class="
{if $epIndex == $Request.route.intPlayIndex}active{/if}
{$TpStyle.dom_prefix}-p1-ep
"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}
</a>
</li>
{/volist}
</ul>
{/foreach}
</section>
{// 相关推荐SEO强沉淀 }
<section class="{$TpStyle.dom_prefix}-p1-relbox">
<h2 class="{$TpStyle.dom_prefix}-p1-reltitle">猜你喜欢</h2>
<div class="{$TpStyle.dom_prefix}-p1-relgrid">
{video:list count="12"
v_category_en="$arrVideo.v_category_en"
sort_type="news"
d_key="rk"
d_val="Video"
cache_life="3600"}
<a href="/detail/{$Video.v_id}.html" class="{$TpStyle.dom_prefix}-p1-relcard">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$Video.v_pic}">
<p>{$Video.v_name}</p>
</a>
{/video:list}
</div>
</section>
</article>
<script>
/* 切换线路 */
function p1SwitchLine(name, el){
document.querySelectorAll('.{$TpStyle.dom_prefix}-p1-elist').forEach(e=>e.classList.remove('active'));
document.querySelector('#p1-list-'+name).classList.add('active');
document.querySelectorAll('.{$TpStyle.dom_prefix}-p1-linebtn').forEach(e=>e.classList.remove('active'));
el.classList.add('active');
}
</script>

View File

@@ -0,0 +1,100 @@
<article class="{$TpStyle.dom_prefix}-p2-shell">
{// 全宽播放器 }
<section class="{$TpStyle.dom_prefix}-p2-screen">
<div id="dplayer" class="{$TpStyle.dom_prefix}-p2-dp"></div>
</section>
{// 基本信息 }
<section class="{$TpStyle.dom_prefix}-p2-info">
<h1>{$arrVideo.v_name}</h1>
<p class="{$TpStyle.dom_prefix}-p2-meta">
<span>{$arrVideo.v_category}</span>
<span>{$arrVideo.v_area}</span>
<span>{$arrVideo.v_year}</span>
</p>
<p class="{$TpStyle.dom_prefix}-p2-actors">
主演:{$arrVideo.v_actor}
</p>
</section>
{// 播放线路(深色 chip }
<nav class="{$TpStyle.dom_prefix}-p2-lines">
<?php $lineIndex=0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType}
<?php $lineIndex++; ?>
<button type="button"
class="{$TpStyle.dom_prefix}-p2-linechip {eq name='$lineIndex' value='1'}active{/eq}"
onclick="p2SwitchLine('{$strPlayGroupName}', this)">
{$strPlayGroupName}
</button>
{/foreach}
</nav>
{// 集数列表:深色块 }
<section class="{$TpStyle.dom_prefix}-p2-epswrap">
<?php $lineIndex=0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType}
<?php $lineIndex++; ?>
<div class="{$TpStyle.dom_prefix}-p2-epbox {eq name='$lineIndex' value='1'}active{/eq}"
id="p2-ep-{$strPlayGroupName}">
<?php $epIndex=0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $epIndex++; ?>
<a href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$epIndex"
/}'
class="{$TpStyle.dom_prefix}-p2-epbtn {if $epIndex == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}
</a>
{/volist}
</div>
{/foreach}
</section>
{// 剧情简介 }
<section class="{$TpStyle.dom_prefix}-p2-desc">
<h2>剧情简介</h2>
<p>{$arrVideo.v_description|raw}</p>
</section>
{// 猜你喜欢 }
<section class="{$TpStyle.dom_prefix}-p2-rel">
<h3>猜你喜欢</h3>
<div class="{$TpStyle.dom_prefix}-p2-relgrid">
{video:list count="10"
v_category_en="$arrVideo.v_category_en"
sort_type="news"
d_key="rk" d_val="Video" cache_life="3600"}
<a href="/detail/{$Video.v_id}.html" class="{$TpStyle.dom_prefix}-p2-card">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$Video.v_pic}">
<p>{$Video.v_name}</p>
</a>
{/video:list}
</div>
</section>
</article>
<script>
function p2SwitchLine(name, btn){
document.querySelectorAll('.{$TpStyle.dom_prefix}-p2-epbox')
.forEach(function(el){ el.classList.remove('active'); });
var box = document.getElementById('p2-ep-'+name);
if(box) box.classList.add('active');
document.querySelectorAll('.{$TpStyle.dom_prefix}-p2-linechip')
.forEach(function(el){ el.classList.remove('active'); });
btn.classList.add('active');
}
</script>

View File

@@ -0,0 +1,98 @@
<main class="{$TpStyle.dom_prefix}-p3-layout">
<section class="{$TpStyle.dom_prefix}-p3-main">
{// 左:播放器 + 基本信息 }
<div class="{$TpStyle.dom_prefix}-p3-left">
<div id="dplayer" class="{$TpStyle.dom_prefix}-p3-dp"></div>
<div class="{$TpStyle.dom_prefix}-p3-info">
<h1>{$arrVideo.v_name}</h1>
<p class="{$TpStyle.dom_prefix}-p3-meta">
{$arrVideo.v_category} · {$arrVideo.v_area} · {$arrVideo.v_year}
</p>
<p class="{$TpStyle.dom_prefix}-p3-actor">
主演:{$arrVideo.v_actor}
</p>
</div>
</div>
{// 右:线路 + 集数PC 时固定在侧边栏) }
<aside class="{$TpStyle.dom_prefix}-p3-right">
<div class="{$TpStyle.dom_prefix}-p3-linehead">播放线路</div>
<div class="{$TpStyle.dom_prefix}-p3-linelist">
<?php $lineIndex=0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType}
<?php $lineIndex++; ?>
<button type="button"
class="{$TpStyle.dom_prefix}-p3-line {eq name='$lineIndex' value='1'}active{/eq}"
onclick="p3Switch('{$strPlayGroupName}', this)">
{$strPlayGroupName}
</button>
{/foreach}
</div>
<?php $lineIndex=0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType}
<?php $lineIndex++; ?>
<div class="{$TpStyle.dom_prefix}-p3-eplist {eq name='$lineIndex' value='1'}active{/eq}"
id="p3-ep-{$strPlayGroupName}">
<?php $epIndex=0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $epIndex++; ?>
<a href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$epIndex"
/}'
class="{$TpStyle.dom_prefix}-p3-ep {if $epIndex == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}
</a>
{/volist}
</div>
{/foreach}
</aside>
</section>
{// 下方:简介 + 推荐 }
<section class="{$TpStyle.dom_prefix}-p3-desc">
<h2>剧情简介</h2>
<p>{$arrVideo.v_description|raw}</p>
</section>
<section class="{$TpStyle.dom_prefix}-p3-rel">
<h3>猜你喜欢</h3>
<div class="{$TpStyle.dom_prefix}-p3-relgrid">
{video:list count="8"
v_category_en="$arrVideo.v_category_en"
sort_type="news"
d_key="rk" d_val="Video" cache_life="3600"}
<a href="/detail/{$Video.v_id}.html" class="{$TpStyle.dom_prefix}-p3-card">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$Video.v_pic}">
<p>{$Video.v_name}</p>
</a>
{/video:list}
</div>
</section>
</main>
<script>
function p3Switch(name, el){
document.querySelectorAll('.{$TpStyle.dom_prefix}-p3-eplist')
.forEach(function(box){ box.classList.remove('active'); });
var target = document.getElementById('p3-ep-'+name);
if(target) target.classList.add('active');
document.querySelectorAll('.{$TpStyle.dom_prefix}-p3-line')
.forEach(function(b){ b.classList.remove('active'); });
el.classList.add('active');
}
</script>

View File

@@ -0,0 +1,86 @@
<section class="{$TpStyle.dom_prefix}-p4-page">
<div class="{$TpStyle.dom_prefix}-p4-top">
<div id="dplayer" class="{$TpStyle.dom_prefix}-p4-dp"></div>
</div>
<header class="{$TpStyle.dom_prefix}-p4-info">
<h1>{$arrVideo.v_name}</h1>
<p>{$arrVideo.v_year} · {$arrVideo.v_category} · {$arrVideo.v_area}</p>
</header>
{// 下拉线路 }
<div class="{$TpStyle.dom_prefix}-p4-linebar">
<label>线路:</label>
<select onchange="p4SelectLine(this.value)">
<?php $lineIndex=0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType}
<?php $lineIndex++; ?>
<option value="{$strPlayGroupName}" {eq name='$lineIndex' value='1'}selected{/eq}>
{$strPlayGroupName}
</option>
{/foreach}
</select>
</div>
{// 有序集数 }
<div class="{$TpStyle.dom_prefix}-p4-eplist">
<?php $lineIndex=0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType}
<?php $lineIndex++; ?>
<ol class="{$TpStyle.dom_prefix}-p4-ol {eq name='$lineIndex' value='1'}active{/eq}"
id="p4-ol-{$strPlayGroupName}">
<?php $epIndex=0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $epIndex++; ?>
<li>
<a href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$epIndex"
/}'
class="{if $epIndex == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}
</a>
</li>
{/volist}
</ol>
{/foreach}
</div>
{// 简介 }
<article class="{$TpStyle.dom_prefix}-p4-desc">
<h2>简介</h2>
<p>{$arrVideo.v_description|raw}</p>
</article>
{// 推荐,简洁版 }
<section class="{$TpStyle.dom_prefix}-p4-rel">
<h3>同类推荐</h3>
<div class="{$TpStyle.dom_prefix}-p4-grid">
{video:list count="6"
v_category_en="$arrVideo.v_category_en"
sort_type="news"
d_key="rk" d_val="Video" cache_life="3600"}
<a href="/detail/{$Video.v_id}.html" class="{$TpStyle.dom_prefix}-p4-card">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$Video.v_pic}">
<p>{$Video.v_name}</p>
</a>
{/video:list}
</div>
</section>
</section>
<script>
function p4SelectLine(name){
document.querySelectorAll('.{$TpStyle.dom_prefix}-p4-ol')
.forEach(function(el){ el.classList.remove('active'); });
var t = document.getElementById('p4-ol-'+name);
if(t) t.classList.add('active');
}
</script>

View File

@@ -0,0 +1,97 @@
<article class="{$TpStyle.dom_prefix}-p5-wrap">
{// 封面 + 播放器组合卡片 }
<section class="{$TpStyle.dom_prefix}-p5-hero">
<div class="{$TpStyle.dom_prefix}-p5-left">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"
alt="{$arrVideo.v_name}"
class="{$TpStyle.dom_prefix}-p5-pic">
</div>
<div class="{$TpStyle.dom_prefix}-p5-right">
<h1>{$arrVideo.v_name}</h1>
<p class="{$TpStyle.dom_prefix}-p5-meta">
{$arrVideo.v_year} · {$arrVideo.v_category} · {$arrVideo.v_area}
</p>
<div id="dplayer" class="{$TpStyle.dom_prefix}-p5-dp"></div>
</div>
</section>
{// 线路:横向滚动 }
<nav class="{$TpStyle.dom_prefix}-p5-lines">
<?php $lineIndex=0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType}
<?php $lineIndex++; ?>
<span class="{$TpStyle.dom_prefix}-p5-line
{eq name='$lineIndex' value='1'}active{/eq}"
onclick="p5Line('{$strPlayGroupName}', this)">
{$strPlayGroupName}
</span>
{/foreach}
</nav>
{// 集数:紧凑按钮 }
<section class="{$TpStyle.dom_prefix}-p5-eps">
<?php $lineIndex=0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType}
<?php $lineIndex++; ?>
<div class="{$TpStyle.dom_prefix}-p5-epbox {eq name='$lineIndex' value='1'}active{/eq}"
id="p5-ep-{$strPlayGroupName}">
<?php $epIndex=0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $epIndex++; ?>
<a href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$epIndex"
/}'
class="{$TpStyle.dom_prefix}-p5-epbtn {if $epIndex == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}
</a>
{/volist}
</div>
{/foreach}
</section>
{// 简介 }
<section class="{$TpStyle.dom_prefix}-p5-desc">
<h2>内容简介</h2>
<p>{$arrVideo.v_description|raw}</p>
</section>
{// “瀑布式”推荐grid 不等高) }
<section class="{$TpStyle.dom_prefix}-p5-rel">
<h3>更多精彩</h3>
<div class="{$TpStyle.dom_prefix}-p5-relgrid">
{video:list count="10"
v_category_en="$arrVideo.v_category_en"
sort_type="news"
d_key="rk" d_val="Video" cache_life="3600"}
<a href="/detail/{$Video.v_id}.html" class="{$TpStyle.dom_prefix}-p5-relcard">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$Video.v_pic}">
<p>{$Video.v_name}</p>
</a>
{/video:list}
</div>
</section>
</article>
<script>
function p5Line(name, el){
document.querySelectorAll('.{$TpStyle.dom_prefix}-p5-epbox')
.forEach(function(box){ box.classList.remove('active'); });
var t = document.getElementById('p5-ep-'+name);
if(t) t.classList.add('active');
document.querySelectorAll('.{$TpStyle.dom_prefix}-p5-line')
.forEach(function(b){ b.classList.remove('active'); });
el.classList.add('active');
}
</script>

View File

@@ -0,0 +1,137 @@
{assign name="variant" value="$pageCfg.player.variant|default=0"}
<section
class="{$TpStyle.dom_prefix}-player {$TpStyle.dom_prefix}-player-dp {$TpStyle.dom_prefix}-v{$variant} {$pageCfg.player.class|default=''}"
data-engine="dplayer" data-url="" data-type="m3u8"
data-autoplay="{$pageCfg.player.opt.autoplay|default=0}" data-muted="{$pageCfg.player.opt.muted|default=0}"
data-preload="{$pageCfg.player.opt.preload|default='metadata'}"
data-ratio="{$pageCfg.player.opt.ratio|default='16x9'}">
{if $variant == 0}
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
{elseif $variant == 1}
<div class="{$TpStyle.dom_prefix}-player-wrap">
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
</div>
{elseif $variant == 2}
<header class="{$TpStyle.dom_prefix}-player-head">
<h2 class="{$TpStyle.dom_prefix}-player-title">{$arrVideo.v_name|default='正在播放'}</h2>
</header>
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
{elseif $variant == 3}
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
<footer class="{$TpStyle.dom_prefix}-player-foot">
<span class="{$TpStyle.dom_prefix}-player-tip">如无法播放请切换线路</span>
</footer>
{elseif $variant == 4}
<article class="{$TpStyle.dom_prefix}-player-article">
<header class="{$TpStyle.dom_prefix}-player-head">
<h1 class="{$TpStyle.dom_prefix}-player-title">{$arrVideo.v_name|default='正在播放'}</h1>
</header>
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
</article>
{elseif $variant == 5}
<figure class="{$TpStyle.dom_prefix}-player-figure">
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
<figcaption class="{$TpStyle.dom_prefix}-player-caption">{$arrVideo.v_name|default='正在播放'}</figcaption>
</figure>
{elseif $variant == 6}
<aside class="{$TpStyle.dom_prefix}-player-aside">
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
</aside>
{elseif $variant == 7}
<main class="{$TpStyle.dom_prefix}-player-main">
<section class="{$TpStyle.dom_prefix}-player-mainsec">
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
</section>
</main>
{elseif $variant == 8}
<div class="{$TpStyle.dom_prefix}-player-info">
<span class="{$TpStyle.dom_prefix}-player-badge">正在播放</span>
</div>
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
{elseif $variant == 9}
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
<div class="{$TpStyle.dom_prefix}-player-info">
<span class="{$TpStyle.dom_prefix}-player-badge">播放中</span>
</div>
{elseif $variant == 10}
<div class="{$TpStyle.dom_prefix}-player-layout">
<div class="{$TpStyle.dom_prefix}-player-core dplayer " id="dplayer"></div>
<aside class="{$TpStyle.dom_prefix}-player-side">
<p class="{$TpStyle.dom_prefix}-player-sidehint">提示:切换线路可提升成功率</p>
</aside>
</div>
{elseif $variant == 11}
<div class="{$TpStyle.dom_prefix}-player-wrapA">
<div class="{$TpStyle.dom_prefix}-player-wrapB">
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
</div>
</div>
{elseif $variant == 12}
<div class="{$TpStyle.dom_prefix}-player-status is-loading">加载中…</div>
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
{elseif $variant == 13}
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
<div class="{$TpStyle.dom_prefix}-player-status is-tip">播放失败请刷新或切换线路</div>
{elseif $variant == 14}
<nav class="{$TpStyle.dom_prefix}-player-nav">
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
</nav>
{elseif $variant == 15}
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
<aside class="{$TpStyle.dom_prefix}-player-aside">
<p class="{$TpStyle.dom_prefix}-player-tip">建议使用 Chrome 浏览器</p>
</aside>
{elseif $variant == 16}
<dialog class="{$TpStyle.dom_prefix}-player-dialog" open>
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
</dialog>
{elseif $variant == 17}
<footer class="{$TpStyle.dom_prefix}-player-footerOnly">
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
</footer>
{elseif $variant == 18}
<header class="{$TpStyle.dom_prefix}-player-head">
<h3 class="{$TpStyle.dom_prefix}-player-title">{$arrVideo.v_name|default='正在播放'}</h3>
</header>
<main class="{$TpStyle.dom_prefix}-player-body">
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
</main>
<footer class="{$TpStyle.dom_prefix}-player-foot">
<small class="{$TpStyle.dom_prefix}-player-note">资源采集于网络,仅供学习交流</small>
</footer>
{else}
<article class="{$TpStyle.dom_prefix}-player-article">
<header class="{$TpStyle.dom_prefix}-player-head">
<h2 class="{$TpStyle.dom_prefix}-player-title">{$arrVideo.v_name|default='正在播放'}</h2>
</header>
<div class="{$TpStyle.dom_prefix}-player-wrap">
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
</div>
<footer class="{$TpStyle.dom_prefix}-player-foot">
<span class="{$TpStyle.dom_prefix}-player-tip">如无法播放请切换线路</span>
</footer>
</article>
{/if}
</section>

View File

@@ -0,0 +1 @@
<div id="dplayer" class="dplayer" muted=“muted” style="margin-top: 5px;"></div>

View File

@@ -0,0 +1,16 @@
{switch $pageCfg.player.engine}
{case value="dplayer"}
{include file="module/player/engine/dplayer" /}
{/case}
{case value="iframe"}
{include file="module/player/engine/iframe" /}
{/case}
{default}
{include file="module/player/engine/dplayer" /}
{/default}
{/switch}

View File

@@ -0,0 +1,143 @@
<section class="{$TpStyle.dom_prefix}-pl {$TpStyle.dom_prefix}-pl-a">
{assign name="variant" value="$pageCfg.playline.variant"}
{// ================= Variant 0Tabs + Grid ================= }
{if $variant == 0}
<nav class="{$TpStyle.dom_prefix}-pl-tabs">
{foreach $arrVideo.v_play_url as $line=>$list}
<span class="{$TpStyle.dom_prefix}-pl-tab">{$line}</span>
{/foreach}
</nav>
<ul class="{$TpStyle.dom_prefix}-pl-grid">
{foreach $arrVideo.v_play_url as $line=>$list}
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
{/volist}
{/foreach}
</ul>
{// ================= Variant 1Line Block + OL ================= }
{elseif $variant == 1}
{foreach $arrVideo.v_play_url as $line=>$list}
<section class="{$TpStyle.dom_prefix}-pl-block">
<h4>{$line}</h4>
<ol>
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
{/volist}
</ol>
</section>
{/foreach}
{// ================= Variant 2DL 语义结构 ================= }
{elseif $variant == 2}
<dl class="{$TpStyle.dom_prefix}-pl-dl">
{foreach $arrVideo.v_play_url as $line=>$list}
<dt>{$line}</dt>
<dd>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
{/volist}
</dd>
{/foreach}
</dl>
{// ================= Variant 3UL + strong ================= }
{elseif $variant == 3}
{foreach $arrVideo.v_play_url as $line=>$list}
<strong>{$line}</strong>
<ul>
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
{/volist}
</ul>
{/foreach}
{// ================= Variant 4Article Card ================= }
{elseif $variant == 4}
{foreach $arrVideo.v_play_url as $line=>$list}
<article class="{$TpStyle.dom_prefix}-pl-card">
<header>{$line}</header>
<div>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
{/volist}
</div>
</article>
{/foreach}
{// ================= Variant 5Table ================= }
{elseif $variant == 5}
<table class="{$TpStyle.dom_prefix}-pl-table">
{foreach $arrVideo.v_play_url as $line=>$list}
<tr><th colspan="2">{$line}</th></tr>
{volist name="list" id="ep" key="i"}
<tr>
<td>{$i}</td>
<td><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></td>
</tr>
{/volist}
{/foreach}
</table>
{// ================= Variant 6Nav + a ================= }
{elseif $variant == 6}
{foreach $arrVideo.v_play_url as $line=>$list}
<nav>
<b>{$line}</b>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
{/volist}
</nav>
{/foreach}
{// ================= Variant 7Span Flow ================= }
{elseif $variant == 7}
{foreach $arrVideo.v_play_url as $line=>$list}
<p>{$line}</p>
<div>
{volist name="list" id="ep" key="i"}
<span><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></span>
{/volist}
</div>
{/foreach}
{// ================= Variant 8Nested UL ================= }
{elseif $variant == 8}
<ul>
{foreach $arrVideo.v_play_url as $line=>$list}
<li>
{$line}
<ul>
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
{/volist}
</ul>
</li>
{/foreach}
</ul>
{// ================= Variant 9Minimal ================= }
{elseif $variant == 9}
{foreach $arrVideo.v_play_url as $line=>$list}
<h5>{$line}</h5>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
{/volist}
{/foreach}
{// ================= Variant 1019自动回退 ================= }
{else}
{foreach $arrVideo.v_play_url as $line=>$list}
<section>
<h4>{$line}</h4>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
{/volist}
</section>
{/foreach}
{/if}
</section>

View File

@@ -0,0 +1,162 @@
<section class="{$TpStyle.dom_prefix}-pl {$TpStyle.dom_prefix}-pl-b">
{assign name="variant" value="$pageCfg.playline.variant"}
{// ================= Variant 0Left Line / Right Grid ================= }
{if $variant == 0}
<div class="{$TpStyle.dom_prefix}-pl-wrap">
<aside class="{$TpStyle.dom_prefix}-pl-lines">
{foreach $arrVideo.v_play_url as $line=>$list}
<div class="{$TpStyle.dom_prefix}-pl-line">{$line}</div>
{/foreach}
</aside>
<div class="{$TpStyle.dom_prefix}-pl-episodes">
{foreach $arrVideo.v_play_url as $line=>$list}
<ul class="{$TpStyle.dom_prefix}-pl-list">
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
{/volist}
</ul>
{/foreach}
</div>
</div>
{// ================= Variant 1Line UL + Episode UL ================= }
{elseif $variant == 1}
<div class="{$TpStyle.dom_prefix}-pl-columns">
<ul class="{$TpStyle.dom_prefix}-pl-lines">
{foreach $arrVideo.v_play_url as $line=>$list}
<li>{$line}</li>
{/foreach}
</ul>
<ul class="{$TpStyle.dom_prefix}-pl-episodes">
{foreach $arrVideo.v_play_url as $line=>$list}
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
{/volist}
{/foreach}
</ul>
</div>
{// ================= Variant 2Definition Left ================= }
{elseif $variant == 2}
<dl class="{$TpStyle.dom_prefix}-pl-dl">
{foreach $arrVideo.v_play_url as $line=>$list}
<dt>{$line}</dt>
<dd>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
{/volist}
</dd>
{/foreach}
</dl>
{// ================= Variant 3Section + Header ================= }
{elseif $variant == 3}
{foreach $arrVideo.v_play_url as $line=>$list}
<section class="{$TpStyle.dom_prefix}-pl-section">
<header>{$line}</header>
<div>
{volist name="list" id="ep" key="i"}
<span><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></span>
{/volist}
</div>
</section>
{/foreach}
{// ================= Variant 4Table Two Column ================= }
{elseif $variant == 4}
<table class="{$TpStyle.dom_prefix}-pl-table">
{foreach $arrVideo.v_play_url as $line=>$list}
<tr><th>{$line}</th><td>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
{/volist}
</td></tr>
{/foreach}
</table>
{// ================= Variant 5Nav Left ================= }
{elseif $variant == 5}
<div class="{$TpStyle.dom_prefix}-pl-nav-wrap">
<nav>
{foreach $arrVideo.v_play_url as $line=>$list}
<a>{$line}</a>
{/foreach}
</nav>
<section>
{foreach $arrVideo.v_play_url as $line=>$list}
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
{/volist}
{/foreach}
</section>
</div>
{// ================= Variant 6OL + Aside ================= }
{elseif $variant == 6}
<aside class="{$TpStyle.dom_prefix}-pl-aside">
{foreach $arrVideo.v_play_url as $line=>$list}
<h5>{$line}</h5>
{/foreach}
</aside>
<ol class="{$TpStyle.dom_prefix}-pl-episodes">
{foreach $arrVideo.v_play_url as $line=>$list}
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
{/volist}
{/foreach}
</ol>
{// ================= Variant 7Compact ================= }
{elseif $variant == 7}
{foreach $arrVideo.v_play_url as $line=>$list}
<p><b>{$line}</b></p>
<p>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
{/volist}
</p>
{/foreach}
{// ================= Variant 8Nested Table ================= }
{elseif $variant == 8}
<table>
{foreach $arrVideo.v_play_url as $line=>$list}
<tr><td>{$line}</td><td>
<table>
{volist name="list" id="ep" key="i"}
<tr><td><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></td></tr>
{/volist}
</table>
</td></tr>
{/foreach}
</table>
{// ================= Variant 9Article SEO ================= }
{elseif $variant == 9}
{foreach $arrVideo.v_play_url as $line=>$list}
<article>
<h3>{$line}</h3>
<p>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
{/volist}
</p>
</article>
{/foreach}
{// ================= Variant 1019兜底 ================= }
{else}
{foreach $arrVideo.v_play_url as $line=>$list}
<div>
<strong>{$line}</strong>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
{/volist}
</div>
{/foreach}
{/if}
</section>

View File

@@ -0,0 +1,173 @@
<section class="{$TpStyle.dom_prefix}-pl {$TpStyle.dom_prefix}-pl-c">
{assign name="variant" value="$pageCfg.playline.variant"}
{// ================= Variant 0Section + OL ================= }
{if $variant == 0}
{foreach $arrVideo.v_play_url as $line=>$list}
<section class="{$TpStyle.dom_prefix}-pl-block">
<h3>{$line}</h3>
<ol>
{volist name="list" id="ep" key="i"}
<li>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
{$ep.name}
</a>
</li>
{/volist}
</ol>
</section>
{/foreach}
{// ================= Variant 1Article ================= }
{elseif $variant == 1}
{foreach $arrVideo.v_play_url as $line=>$list}
<article class="{$TpStyle.dom_prefix}-pl-article">
<header><h4>{$line}</h4></header>
<div>
{volist name="list" id="ep" key="i"}
<p>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
{$ep.name}
</a>
</p>
{/volist}
</div>
</article>
{/foreach}
{// ================= Variant 2DL 剧情结构 ================= }
{elseif $variant == 2}
<dl class="{$TpStyle.dom_prefix}-pl-dl">
{foreach $arrVideo.v_play_url as $line=>$list}
<dt>{$line}</dt>
{volist name="list" id="ep" key="i"}
<dd>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
{$ep.name}
</a>
</dd>
{/volist}
{/foreach}
</dl>
{// ================= Variant 3段落式 ================= }
{elseif $variant == 3}
{foreach $arrVideo.v_play_url as $line=>$list}
<h4>{$line}</h4>
<p>
{volist name="list" id="ep" key="i"}
<span>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
{$ep.name}
</a>
</span>
{/volist}
</p>
{/foreach}
{// ================= Variant 4Blockquote ================= }
{elseif $variant == 4}
{foreach $arrVideo.v_play_url as $line=>$list}
<blockquote class="{$TpStyle.dom_prefix}-pl-quote">
<strong>{$line}</strong>
{volist name="list" id="ep" key="i"}
<div>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
{$ep.name}
</a>
</div>
{/volist}
</blockquote>
{/foreach}
{// ================= Variant 5UL + Paragraph ================= }
{elseif $variant == 5}
{foreach $arrVideo.v_play_url as $line=>$list}
<h4>{$line}</h4>
<ul>
{volist name="list" id="ep" key="i"}
<li>
<p>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
{$ep.name}
</a>
</p>
</li>
{/volist}
</ul>
{/foreach}
{// ================= Variant 6Timeline 风格 ================= }
{elseif $variant == 6}
{foreach $arrVideo.v_play_url as $line=>$list}
<section>
<h4>{$line}</h4>
{volist name="list" id="ep" key="i"}
<div>
<time>{$i}</time>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
{$ep.name}
</a>
</div>
{/volist}
</section>
{/foreach}
{// ================= Variant 7SEO Text Block ================= }
{elseif $variant == 7}
{foreach $arrVideo.v_play_url as $line=>$list}
<div>
<h3>{$line}</h3>
<p>
本线路提供以下资源:
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
{$ep.name}
</a>
{/volist}
</p>
</div>
{/foreach}
{// ================= Variant 8Mixed OL / P ================= }
{elseif $variant == 8}
{foreach $arrVideo.v_play_url as $line=>$list}
<h4>{$line}</h4>
{volist name="list" id="ep" key="i"}
<p>
第 {$i} 集:
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
{$ep.name}
</a>
</p>
{/volist}
{/foreach}
{// ================= Variant 9Minimal Reading ================= }
{elseif $variant == 9}
{foreach $arrVideo.v_play_url as $line=>$list}
<h5>{$line}</h5>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
{$ep.name}
</a>
{/volist}
{/foreach}
{// ================= Variant 1019兜底 ================= }
{else}
{foreach $arrVideo.v_play_url as $line=>$list}
<section>
<strong>{$line}</strong>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
{$ep.name}
</a>
{/volist}
</section>
{/foreach}
{/if}
</section>

View File

@@ -0,0 +1,15 @@
{switch $pageCfg.playline.layout}
{case value="A"}
{include file="module/playline/layout/layout_A" /}
{/case}
{case value="B"}
{include file="module/playline/layout/layout_B" /}
{/case}
{case value="C"}
{include file="module/playline/layout/layout_C" /}
{/case}
{/switch}

View File

@@ -0,0 +1,24 @@
<section class="{$TpStyle.dom_prefix}-shell{$cfg.shell} {$cfg.class}">
<header class="{$TpStyle.dom_prefix}-rank-head">
<h2 class="{$TpStyle.dom_prefix}-rank-title">
{$rank.title}
</h2>
<!-- <a href="{$rank.more_url}" class="{$TpStyle.dom_prefix}-rank-more"> 更多</a> -->
</header>
{video:ranklistexp
count="$cfg.limit"
sort_type="$cfg.sort_type"
export_name="__LIST__"
/}
<ol class="{$TpStyle.dom_prefix}-list" ...>
{volist name="__LIST__" id="vo"}
{include file="module/list/item/_item_router" /}
{/volist}
</ol>
</section>

View File

@@ -0,0 +1,14 @@
<section class="{$TpStyle.dom_prefix}-r1-wrap">
<h3 class="{$TpStyle.dom_prefix}-r1-title">排行榜</h3>
<ol class="{$TpStyle.dom_prefix}-r1-list">
{volist name="arrVideoPiaofang" id="vo" offset="0" length="10"}
<li class="{$TpStyle.dom_prefix}-r1-row">
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-r1-a">
{// <span class="{$TpStyle.dom_prefix}-r1-num">{$i}</span> }
<span class="{$TpStyle.dom_prefix}-r1-name">{$vo.v_name}</span>
</a>
</li>
{/volist}
</ol>
</section>

View File

@@ -0,0 +1,18 @@
<article class="{$TpStyle.dom_prefix}-r2-block">
<header class="{$TpStyle.dom_prefix}-r2-hd">热播榜</header>
<div class="{$TpStyle.dom_prefix}-r2-list">
{volist name="arrVideoPiaofang" id="vo" offset="0" length="6"}
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-r2-item">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
class="{$TpStyle.dom_prefix}-r2-img"
alt="{$vo.v_name}">
<div class="{$TpStyle.dom_prefix}-r2-info">
<h4>{$vo.v_name}</h4>
<p>热度上升中 → 点击查看</p>
</div>
</a>
{/volist}
</div>
</article>

View File

@@ -0,0 +1,15 @@
<section class="{$TpStyle.dom_prefix}-r3-area">
<h3 class="{$TpStyle.dom_prefix}-r3-tt">趋势排行 TOP10</h3>
<div class="{$TpStyle.dom_prefix}-r3-rows">
{volist name="arrVideoPiaofang" id="vo" offset="0" length="10"}
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-r3-row">
<span class="{$TpStyle.dom_prefix}-r3-l">{$i}</span>
<div class="{$TpStyle.dom_prefix}-r3-m">
{$vo.v_name}
</div>
<span class="{$TpStyle.dom_prefix}-r3-r"></span>
</a>
{/volist}
</div>
</section>

View File

@@ -0,0 +1,15 @@
<div class="{$TpStyle.dom_prefix}-r4-sec">
<h3 class="{$TpStyle.dom_prefix}-r4-hd">人气榜单</h3>
<div class="{$TpStyle.dom_prefix}-r4-grid">
{volist name="arrVideoPiaofang" id="vo" offset="0" length="6"}
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-r4-card">
<img loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
class="{$TpStyle.dom_prefix}-r4-img"
alt="{$vo.v_name}">
<p class="{$TpStyle.dom_prefix}-r4-name">{$i}. {$vo.v_name}</p>
</a>
{/volist}
</div>
</div>

View File

@@ -0,0 +1,17 @@
<article class="{$TpStyle.dom_prefix}-r5-wrap">
<header class="{$TpStyle.dom_prefix}-r5-top">
<strong>飙升榜</strong>
</header>
<div class="{$TpStyle.dom_prefix}-r5-body">
{volist name="arrVideoPiaofang" id="vo" offset="0" length="8"}
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-r5-line">
<div class="{$TpStyle.dom_prefix}-r5-left">#{$i}</div>
<div class="{$TpStyle.dom_prefix}-r5-right">
<b>{$vo.v_name}</b>
<p>热度提升中</p>
</div>
</a>
{/volist}
</div>
</article>

View File

@@ -0,0 +1,28 @@
<section class="{$TpStyle.dom_prefix}-recA-wrap">
<header class="{$TpStyle.dom_prefix}-recA-head">
<h2 class="{$TpStyle.dom_prefix}-recA-title">编辑精选</h2>
<span class="{$TpStyle.dom_prefix}-recA-sub">今天值得一看的好片</span>
</header>
<ul class="{$TpStyle.dom_prefix}-recA-grid">
{volist name="arrVideoRecommend" id="vo" offset="0" length="8"}
<li class="{$TpStyle.dom_prefix}-recA-item">
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-recA-link">
<div class="{$TpStyle.dom_prefix}-recA-coverBox">
<img
loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
alt="{$vo.v_name}"
class="{$TpStyle.dom_prefix}-recA-cover"
>
{if !empty($vo.v_remarks)}
<span class="{$TpStyle.dom_prefix}-recA-tag">{$vo.v_remarks}</span>
{/if}
</div>
<p class="{$TpStyle.dom_prefix}-recA-name">{$vo.v_name}</p>
</a>
</li>
{/volist}
</ul>
</section>

View File

@@ -0,0 +1,30 @@
<section class="{$TpStyle.dom_prefix}-recB-wrap">
<div class="{$TpStyle.dom_prefix}-recB-head">
<span class="{$TpStyle.dom_prefix}-recB-label">口碑佳作</span>
<h2 class="{$TpStyle.dom_prefix}-recB-title">好评推荐</h2>
</div>
<div class="{$TpStyle.dom_prefix}-recB-scroll">
{volist name="arrVideoRecommend" id="vo" offset="0" length="10"}
<article class="{$TpStyle.dom_prefix}-recB-card">
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-recB-anchor">
<figure class="{$TpStyle.dom_prefix}-recB-figure">
<img
loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
alt="{$vo.v_name}"
class="{$TpStyle.dom_prefix}-recB-img"
>
</figure>
<div class="{$TpStyle.dom_prefix}-recB-meta">
<h3 class="{$TpStyle.dom_prefix}-recB-name">{$vo.v_name}</h3>
{if !empty($vo.v_remarks)}
<p class="{$TpStyle.dom_prefix}-recB-info">{$vo.v_remarks}</p>
{/if}
</div>
</a>
</article>
{/volist}
</div>
</section>

View File

@@ -0,0 +1,45 @@
<section class="{$TpStyle.dom_prefix}-recC-block">
<header class="{$TpStyle.dom_prefix}-recC-top">
<h2 class="{$TpStyle.dom_prefix}-recC-title">今日主打</h2>
<span class="{$TpStyle.dom_prefix}-recC-tip">为你挑选的一些好片</span>
</header>
<div class="{$TpStyle.dom_prefix}-recC-body">
{volist name="arrVideoRecommend" id="vo" offset="0" length="1"}
<div class="{$TpStyle.dom_prefix}-recC-main">
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-recC-mainLink">
<div class="{$TpStyle.dom_prefix}-recC-mainCover">
<img
loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
alt="{$vo.v_name}"
class="{$TpStyle.dom_prefix}-recC-mainImg"
>
<span class="{$TpStyle.dom_prefix}-recC-mainBadge">主推</span>
</div>
<div class="{$TpStyle.dom_prefix}-recC-mainText">
<h3 class="{$TpStyle.dom_prefix}-recC-mainName">{$vo.v_name}</h3>
{if !empty($vo.v_remarks)}
<p class="{$TpStyle.dom_prefix}-recC-mainRemark">{$vo.v_remarks}</p>
{/if}
</div>
</a>
</div>
{/volist}
<ul class="{$TpStyle.dom_prefix}-recC-side">
{volist name="arrVideoRecommend" id="vo" offset="1" length="6" key="k"}
<li class="{$TpStyle.dom_prefix}-recC-sideItem">
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-recC-sideLink">
<span class="{$TpStyle.dom_prefix}-recC-sideNo">{:sprintf('%02d',$k)}</span>
<span class="{$TpStyle.dom_prefix}-recC-sideName">{$vo.v_name}</span>
{if !empty($vo.v_remarks)}
<span class="{$TpStyle.dom_prefix}-recC-sideRemark">{$vo.v_remarks}</span>
{/if}
</a>
</li>
{/volist}
</ul>
</div>
</section>

View File

@@ -0,0 +1,32 @@
<section class="{$TpStyle.dom_prefix}-recD-section">
<div class="{$TpStyle.dom_prefix}-recD-header">
<h2 class="{$TpStyle.dom_prefix}-recD-caption">
<span class="{$TpStyle.dom_prefix}-recD-dot"></span> 为你而选
</h2>
<span class="{$TpStyle.dom_prefix}-recD-more">好片不容错过</span>
</div>
<div class="{$TpStyle.dom_prefix}-recD-grid">
{volist name="arrVideoRecommend" id="vo" offset="0" length="6"}
<div class="{$TpStyle.dom_prefix}-recD-cell">
<a href="/detail/{$vo.v_id}.html" class="{$TpStyle.dom_prefix}-recD-cellLink">
<div class="{$TpStyle.dom_prefix}-recD-thumbBox">
<img
loading="lazy"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$vo.v_pic}"
alt="{$vo.v_name}"
class="{$TpStyle.dom_prefix}-recD-thumb"
>
</div>
<div class="{$TpStyle.dom_prefix}-recD-info">
<p class="{$TpStyle.dom_prefix}-recD-infoName">{$vo.v_name}</p>
{if !empty($vo.v_remarks)}
<p class="{$TpStyle.dom_prefix}-recD-infoSub">{$vo.v_remarks}</p>
{/if}
</div>
</a>
</div>
{/volist}
</div>
</section>

Some files were not shown because too many files have changed in this diff Show More