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,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>