| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- {include file="header" /}
- <link rel="stylesheet" href="/assets/xtu/download-center.css?v=20260513-2">
- {php}
- $downloadProductId = (int)request()->param('product_id/d', request()->param('project_id/d', request()->param('pid/d', request()->param('id/d', 0))));
- $downloadBaseWhere = '`status` = 1';
- if ($downloadProductId > 0) {
- $downloadBaseWhere .= ' AND `project_id` = ' . $downloadProductId;
- }
- $downloadDocWhere = $downloadBaseWhere . ' AND `catid` = 40';
- $downloadFirmwareWhere = $downloadBaseWhere . ' AND `catid` = 57';
- $productWhere = '`status` = 1';
- {/php}
- <main class="download-center-page support-page download-list-page">
- <section class="download-center-hero">
- <div class="content-1300-wrap">
- <span class="download-center-kicker">{:cms_t('support_center','支持中心')}</span>
- <h1>{if $downloadProductId > 0}{:cms_t('download_product_center','产品下载中心')}{else /}{:cms_t('download_center','下载中心')}{/if}</h1>
- <p>{if $downloadProductId > 0}{:sprintf(cms_t('download_product_center_desc','按产品快速获取%s、%s、%s资料。'), getCategory(42,'catname'), getCategory(40,'catname'), getCategory(57,'catname'))}{else /}{:cms_t('download_center_desc','搜索产品资料,或直接获取 XTU GO 安卓与 iOS 官方下载入口。')}{/if}</p>
- </div>
- </section>
- <section class="download-center-section">
- <div class="content-1300-wrap download-center-layout">
- <aside class="download-filter-panel">
- <div class="download-filter-card">
- <div class="download-filter-meta download-filter-meta-standalone">
- <span><i class="bi bi-phone"></i> {:getCategory(42,'catname')}</span>
- <span><i class="bi bi-journal-text"></i> {:getCategory(40,'catname')}</span>
- <span><i class="bi bi-cpu"></i> {:getCategory(57,'catname')}</span>
- </div>
- </div>
- <div class="download-filter-card download-product-card">
- <div class="download-filter-title">
- <i class="bi bi-camera-video"></i>
- <span>{:cms_t('select_product','选择产品')}</span>
- </div>
- <div class="download-product-list download-product-category-list">
- {yzn module="cms" action="category" modelid="2" cache="3600" order="listorder DESC,id ASC" num="30" return="productCategories"}
- {volist name="productCategories" id="productCat"}
- {php}
- $categoryProductWhere = $productWhere . ' AND `catid` = ' . (int)$productCat['id'];
- {/php}
- {yzn module="cms" action="lists" modelid="2" where="$categoryProductWhere" order="listorder DESC,id DESC" num="30" return="downloadProducts" moreinfo="1"}
- {if !empty($downloadProducts)}
- {php}
- $downloadGroupOpen = false;
- foreach ($downloadProducts as $downloadProductItem) {
- if ((int)$downloadProductItem['id'] === $downloadProductId) {
- $downloadGroupOpen = true;
- break;
- }
- }
- {/php}
- <div class="download-product-group {if $downloadGroupOpen}is-open{/if}">
- <button class="download-product-group-title" type="button" aria-expanded="{if $downloadGroupOpen}true{else /}false{/if}">
- <span>{$productCat.catname}</span>
- <i class="bi bi-chevron-down"></i>
- </button>
- <div class="download-product-group-items">
- {volist name="downloadProducts" id="product"}
- <a class="download-product-link {if $downloadProductId == $product.id}active{/if}" href="?product_id={$product.id}">
- <span>{$product.title}</span>
- <i class="bi bi-chevron-right"></i>
- </a>
- {/volist}
- </div>
- </div>
- {/if}
- {/yzn}
- {/volist}
- {/yzn}
- </div>
- </div>
- </aside>
- <div class="download-content-panel">
- {if $downloadProductId <= 0}
- <div class="download-overview-card">
- {yzn module="cms" action="lists" catid="42" order="listorder DESC,id ASC" num="1" return="xtugoDownloadData" moreinfo="1"}
- {volist name="xtugoDownloadData" id="vo"}
- <div class="download-overview-copy">
- <span class="download-pill">XTU GO</span>
- <h2>{$vo.title|default=cms_t('xtugo_default_title','骁途用户必备的手机应用')}</h2>
- <p>{$vo.description|default=cms_t('xtugo_default_desc','一站连接设备、管理素材、获取教程与售后服务,让拍摄体验从开机到分享都更顺手。')}</p>
- <div class="xtugo-store-list download-store-list">
- <a class="xtugo-store-btn xtugo-store-btn-android" href="{$vo.andiordurl|default='#'}" target="_blank" rel="noopener">
- <span class="xtugo-store-icon"><i class="bi bi-android2"></i></span>
- <span class="xtugo-store-copy"><small>{:cms_t('download_for','Download for')}</small><strong>Android</strong></span>
- </a>
- <a class="xtugo-store-btn xtugo-store-btn-ios" href="{$vo.appstore|default='#'}" target="_blank" rel="noopener">
- <span class="xtugo-store-icon"><i class="bi bi-apple"></i></span>
- <span class="xtugo-store-copy"><small>{:cms_t('download_on_the','Download on the')}</small><strong>App Store</strong></span>
- </a>
- </div>
- </div>
- <div class="download-overview-visual">
- <img src="{$vo.thumb|default='/assets/xtu/vendor/img/xtugo.png'}" alt="XTU GO">
- </div>
- {/volist}
- {/yzn}
- </div>
- <div class="download-doc-section">
- <div class="download-section-head">
- <h2>{:cms_t('latest_downloads_prefix','最新')}{:getCategory($catid,'catname')}</h2>
- <p>{:cms_t('download_select_product_tip','选择左侧产品后,可查看该产品专属资料。')}</p>
- </div>
- <div class="download-file-grid">
- {yzn module="cms" action="lists" catid="$catid" where="$downloadBaseWhere" cache="3600" order="$order['data']??'listorder DESC,publish_time DESC,id DESC'" num="12" page="$page" return="data" moreinfo="1"}
- {volist name="data" id="vo"}
- <article class="download-file-card">
- <div class="download-file-icon"><i class="bi bi-file-earmark-arrow-down"></i></div>
- <div class="download-file-copy">
- <h3>{$vo.title}</h3>
- <p>{:date('Y-m-d',$vo.publish_time)}</p>
- </div>
- <a href="{if !empty($vo.fileaddress)}{$vo.fileaddress}{else /}{$vo.url}{/if}" target="_blank" rel="noopener" class="download-file-action">{:cms_t('download','下载')}</a>
- </article>
- {/volist}
- {/yzn}
- </div>
- <div class="text-center download-pages">{$pages|raw}</div>
- </div>
- {else /}
- {yzn module="cms" action="lists" modelid="2" where="`id` = $downloadProductId AND `status` = 1" num="1" return="currentProduct" moreinfo="1"}
- {volist name="currentProduct" id="product"}
- {php}
- $downloadHeroLabel = getCategory($product['catid'], 'catname');
- {/php}
- <div class="download-product-hero-card">
- <div>
- <span class="download-pill">{$downloadHeroLabel|default=cms_t('product_download_label','产品下载')}</span>
- <h2>{$product.title}</h2>
- <p>{$product.description|default=cms_t('product_download_default_desc','请选择下方分类获取对应下载内容。')}</p>
- </div>
- {if $product.thumb}<img src="{$product.thumb}" alt="{$product.title}">{/if}
- </div>
- {/volist}
- {/yzn}
- <div class="download-tabs-card">
- <div class="download-tabs" role="tablist">
- <button class="download-tab active" type="button" data-tab="app"><i class="bi bi-phone"></i>{:getCategory(42,'catname')}</button>
- <button class="download-tab" type="button" data-tab="manual"><i class="bi bi-journal-text"></i>{:getCategory(40,'catname')}</button>
- <button class="download-tab" type="button" data-tab="firmware"><i class="bi bi-cpu"></i>{:getCategory(57,'catname')}</button>
- </div>
- <div class="download-tab-panel active" id="download-tab-app">
- {yzn module="cms" action="lists" catid="42" order="listorder DESC,id ASC" num="1" return="xtugoAppData" moreinfo="1"}
- {volist name="xtugoAppData" id="vo"}
- <div class="download-app-panel">
- <div>
- <span class="download-pill">XTU GO {:getCategory(42,'catname')}</span>
- <h3>{$vo.title|default='XTU GO'}</h3>
- <p>{$vo.description|default=cms_t('xtugo_app_default_desc','配套移动应用,支持设备连接、素材管理、教程与服务支持。')}</p>
- </div>
- <div class="xtugo-store-list download-store-list">
- <a class="xtugo-store-btn xtugo-store-btn-android" href="{$vo.andiordurl|default='#'}" target="_blank" rel="noopener"><span class="xtugo-store-icon"><i class="bi bi-android2"></i></span><span class="xtugo-store-copy"><small>{:cms_t('download_for','Download for')}</small><strong>Android</strong></span></a>
- <a class="xtugo-store-btn xtugo-store-btn-ios" href="{$vo.appstore|default='#'}" target="_blank" rel="noopener"><span class="xtugo-store-icon"><i class="bi bi-apple"></i></span><span class="xtugo-store-copy"><small>{:cms_t('download_on_the','Download on the')}</small><strong>App Store</strong></span></a>
- </div>
- </div>
- {/volist}
- {/yzn}
- </div>
- <div class="download-tab-panel" id="download-tab-manual">
- <div class="download-file-grid compact">
- {yzn module="cms" action="lists" catid="40" where="$downloadDocWhere" order="listorder DESC,publish_time DESC,id DESC" num="30" return="manualFiles" moreinfo="1"}
- {volist name="manualFiles" id="vo"}
- <article class="download-file-card">
- <div class="download-file-icon"><i class="bi bi-file-earmark-pdf"></i></div>
- <div class="download-file-copy"><h3>{$vo.title}</h3><p>{:date('Y-m-d',$vo.publish_time)}</p></div>
- <a href="{if !empty($vo.fileaddress)}{$vo.fileaddress}{else /}{$vo.url}{/if}" target="_blank" rel="noopener" class="download-file-action">{:cms_t('download','下载')}</a>
- </article>
- {/volist}
- {/yzn}
- </div>
- </div>
- <div class="download-tab-panel" id="download-tab-firmware">
- <div class="download-file-grid compact">
- {yzn module="cms" action="lists" catid="57" where="$downloadFirmwareWhere" order="listorder DESC,publish_time DESC,id DESC" num="30" return="firmwareFiles" moreinfo="1"}
- {volist name="firmwareFiles" id="vo"}
- <article class="download-file-card">
- <div class="download-file-icon"><i class="bi bi-hdd-network"></i></div>
- <div class="download-file-copy"><h3>{$vo.title}</h3><p>{:date('Y-m-d',$vo.publish_time)}</p></div>
- <a href="{if !empty($vo.fileaddress)}{$vo.fileaddress}{else /}{$vo.url}{/if}" target="_blank" rel="noopener" class="download-file-action">{:cms_t('download','下载')}</a>
- </article>
- {/volist}
- {/yzn}
- </div>
- </div>
- </div>
- {/if}
- </div>
- </div>
- </section>
- {include file="footer-links" /}
- </main>
- <script>
- document.body.classList.add('download-category-body');
- document.addEventListener('DOMContentLoaded', function () {
- document.querySelectorAll('.download-product-group-title').forEach(function (trigger) {
- trigger.addEventListener('click', function () {
- var group = trigger.closest('.download-product-group');
- if (!group) return;
- var isOpen = group.classList.contains('is-open');
- document.querySelectorAll('.download-product-group.is-open').forEach(function (item) {
- item.classList.remove('is-open');
- var itemTrigger = item.querySelector('.download-product-group-title');
- if (itemTrigger) itemTrigger.setAttribute('aria-expanded', 'false');
- });
- if (!isOpen) {
- group.classList.add('is-open');
- trigger.setAttribute('aria-expanded', 'true');
- }
- });
- });
- document.querySelectorAll('.download-tab').forEach(function (tab) {
- tab.addEventListener('click', function () {
- var name = tab.getAttribute('data-tab');
- document.querySelectorAll('.download-tab').forEach(function (item) { item.classList.remove('active'); });
- document.querySelectorAll('.download-tab-panel').forEach(function (panel) { panel.classList.remove('active'); });
- tab.classList.add('active');
- var target = document.getElementById('download-tab-' + name);
- if (target) target.classList.add('active');
- });
- });
- });
- </script>
- {include file="footer" /}
|