Browse Source

refactor(search): 使用动态UI ID替换硬编码的栏目ID,优化搜索功能

master
peijunlei 2 weeks ago
parent
commit
cfa2b88628
  1. 35
      app/controller/frontend/SearchController.php
  2. 14
      config/ui_ids.php
  3. 30
      public/themes/website/1/en/demo/about.html
  4. 2
      public/themes/website/1/en/demo/category.html
  5. 4
      public/themes/website/1/en/demo/components/footer.html
  6. 8
      public/themes/website/1/en/demo/components/header.html
  7. 4
      public/themes/website/1/en/demo/components/mask.html
  8. 8
      public/themes/website/1/en/demo/contact.html
  9. 5
      public/themes/website/1/en/demo/news-detail.html
  10. 4
      public/themes/website/1/en/demo/single_search.html
  11. 30
      public/themes/website/1/zh/demo/about.html
  12. 2
      public/themes/website/1/zh/demo/category.html
  13. 4
      public/themes/website/1/zh/demo/components/footer.html
  14. 8
      public/themes/website/1/zh/demo/components/header.html
  15. 4
      public/themes/website/1/zh/demo/components/mask.html
  16. 8
      public/themes/website/1/zh/demo/contact.html
  17. 5
      public/themes/website/1/zh/demo/news-detail.html
  18. 4
      public/themes/website/1/zh/demo/single_search.html

35
app/controller/frontend/SearchController.php

@ -11,29 +11,14 @@ use app\model\SysSetting;
class SearchController extends BaseController
{
/** 产品根栏目 */
private const PRODUCT_CATE_ID = 333;
/** 新闻根栏目 */
private const NEWS_CATE_ID = 361;
// 下载中心
private const DOWNLOAD_CATE_ID = 356;
/** 常见问题根栏目 */
private const FAQ_CATE_ID = 357;
// 视频教程
private const VIDEO_CATE_ID = 358;
//产品公告
private const ANNOUNCEMENT_CATE_ID = 359;
/**
* 获取栏目自身及全部子栏目 ID
*/
private function getCategoryTreeIds(int $rootId): array
{
if ($rootId <= 0) {
return [];
}
$category = new Category();
$root = $category->where([
'id' => $rootId,
@ -184,19 +169,19 @@ class SearchController extends BaseController
['category_id', 'in', $searchCateIds ?: [0]],
])['data'], 'sub_content_id');
// 各 Tab 固定根栏目(含子栏目)
$productContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(self::PRODUCT_CATE_ID));
$newsContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(self::NEWS_CATE_ID));
$faqContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(self::FAQ_CATE_ID));
// 各 Tab 固定根栏目(含子栏目,按当前语言 uiId
$productContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(uiId('product')));
$newsContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(uiId('news')));
$faqContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(uiId('faq')));
$newsVideoCateId = uiId('news_video');
$newsVideoContentIds = $newsVideoCateId > 0
? $this->getContentIdsByCategoryIds($this->getCategoryTreeIds($newsVideoCateId))
: [];
// 其他 = 下载中心 + 视频 + 公告
$downloadContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(self::DOWNLOAD_CATE_ID));
$videoContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(self::VIDEO_CATE_ID));
$announceContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(self::ANNOUNCEMENT_CATE_ID));
$downloadContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(uiId('download')));
$videoContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(uiId('video')));
$announceContentIds = $this->getContentIdsByCategoryIds($this->getCategoryTreeIds(uiId('announce')));
$otherContentIds = array_values(array_unique(array_merge(
$downloadContentIds,
$videoContentIds,

14
config/ui_ids.php

@ -16,11 +16,23 @@ return [
'product' => ['zh' => 333, 'en' => 704], // 产品
'solution' => ['zh' => 345, 'en' => 716], // 解决方案
'support' => ['zh' => 355, 'en' => 724], // 服务支持
'download' => ['zh' => 356, 'en' => 725], // 下载中心
'faq' => ['zh' => 357, 'en' => 726], // 常见问题
'video' => ['zh' => 358, 'en' => 727], // 视频教程
'announce' => ['zh' => 359, 'en' => 728], // 产品公告
'news' => ['zh' => 361, 'en' => 730], // 新闻动态
'news_video' => ['zh' => 757, 'en' => 758], // 企业视频(英文栏目建好后填 en)
'news_video' => ['zh' => 757, 'en' => 758], // 企业视频
'exhibition' => ['zh' => 364, 'en' => 733], // 展会与活动
'invest' => ['zh' => 365, 'en' => 734], // 投资者关系
'about' => ['zh' => 371, 'en' => 740], // 关于睿能
'about_intro' => ['zh' => 372, 'en' => 741], // 公司简介
'about_history' => ['zh' => 373, 'en' => 742], // 发展历史
'about_culture' => ['zh' => 374, 'en' => 743], // 企业文化
'about_global' => ['zh' => 375, 'en' => 744], // 全球布局
'about_members' => ['zh' => 376, 'en' => 745], // 集团成员
'about_honors' => ['zh' => 377, 'en' => 746], // 荣誉资质
'about_csr' => ['zh' => 378, 'en' => 747], // 企业社会责任
'download_csr' => ['zh' => 691, 'en' => 0], // 社会责任报告(下载子栏目,en 未建则链到下载中心)
'search_hot' => ['zh' => 679, 'en' => 748], // 搜索-热门搜索词
'social_channel' => ['zh' => 707, 'en' => 749], // 社交频道
];

30
public/themes/website/1/en/demo/about.html

@ -65,7 +65,21 @@
<video src="{$current_cate.description}" muted autoplay loop playsinline width="1920" height="720"></video>
</div>
</section>
{hcTaglib:category id="372" item="vo" field="*"}
{php}
$ui_about_intro = uiId('about_intro');
$ui_about_history = uiId('about_history');
$ui_about_culture = uiId('about_culture');
$ui_about_global = uiId('about_global');
$ui_about_members = uiId('about_members');
$ui_about_honors = uiId('about_honors');
$ui_about_csr = uiId('about_csr');
$ui_download_csr = uiId('download_csr');
$csr_report_href = getMuiLangUrl('/download.html');
if ($ui_download_csr > 0) {
$csr_report_href .= '?cid=' . $ui_download_csr;
}
{/php}
{hcTaglib:category id="$ui_about_intro" item="vo" field="*"}
<section class="ab-intro section__wrap" id="intro" data-header-dark>
<h2 class="ab-intro__title">{$vo.title}</h2>
<div class="ab-intro__body">
@ -95,7 +109,7 @@
{/hcTaglib:category}
{hcTaglib:category id="373" item="vo" field="*"}
{hcTaglib:category id="$ui_about_history" item="vo" field="*"}
<section class="ab-history" id="history" data-header-dark style="background-image: url({$vo.thumbnail.url ?? ''})">
<div class="ab-history__head section__wrap">
<h2 class="ab-history__title">{$vo.title}</h2>
@ -147,7 +161,7 @@
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="374" item="vo" field="*"}
{hcTaglib:category id="$ui_about_culture" item="vo" field="*"}
<section class="ab-culture" id="culture">
<div class="ab-culture__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="900" />
@ -179,7 +193,7 @@
</section>
{/hcTaglib:category}
{hcTaglib:category id="375" item="vo" field="*"}
{hcTaglib:category id="$ui_about_global" item="vo" field="*"}
<section class="ab-global section__wrap" id="global" data-header-dark>
<h2 class="ab-global__title">{$vo.title}</h2>
{php}
@ -219,7 +233,7 @@
</section>
{/hcTaglib:category}
{hcTaglib:category id="376" item="vo" field="*"}
{hcTaglib:category id="$ui_about_members" item="vo" field="*"}
<section class="ab-members" id="members">
<div class="ab-members__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="900" />
@ -262,7 +276,7 @@
</section>
{/hcTaglib:category}
{hcTaglib:category id="377" item="vo" field="*"}
{hcTaglib:category id="$ui_about_honors" item="vo" field="*"}
<section class="ab-honors section__wrap" id="honors" data-header-dark>
<div class="ab-honors__head">
<h2 class="ab-honors__title">{$vo.title}</h2>
@ -297,7 +311,7 @@
</section>
{/hcTaglib:category}
{hcTaglib:category id="378" item="vo" field="*"}
{hcTaglib:category id="$ui_about_csr" item="vo" field="*"}
<section class="ab-csr" id="csr">
<div class="ab-csr__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="720" />
@ -308,7 +322,7 @@
<p class="ab-csr__desc">
{$vo.description}
</p>
<a class="s-btn s-btn--light s-btn--pill" href="/download.html?cid=691">CSR Report</a>
<a class="s-btn s-btn--light s-btn--pill" href="{$csr_report_href}">CSR Report</a>
</div>
</div>
</section>

2
public/themes/website/1/en/demo/category.html

@ -66,7 +66,7 @@ $current_cate_id = $current_cate['id'] ?? '';
<main class="main-category" data-header-dark data-nav="产品">
<div class="c-page section__wrap">
<nav class="c-breadcrumb" aria-label="Breadcrumb">
<a class="c-breadcrumb__link" href="/">Home</a>
<a class="c-breadcrumb__link" href="{:getMuiLangUrl('/')}">Home</a>
<span class="c-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />

4
public/themes/website/1/en/demo/components/footer.html

@ -58,8 +58,8 @@
<p class="site-footer__copyright">Copyright 2026 {hcTaglib:setting name="company_name" type="1" /} All rights reserved | {hcTaglib:setting name="icp" type="2" /} | <img
class="site-footer__gongan" src="/themes/dist_static/static/images/gongan-DdFBmJbc.png" alt="" /> {hcTaglib:setting name="gwa" type="2" /}</p>
<div class="site-footer__legal">
<a href="/sitemap.html">Sitemap</a>
<a href="/privacy.html">Privacy Policy</a>
<a href="{:getMuiLangUrl('/sitemap.html')}">Sitemap</a>
<a href="{:getMuiLangUrl('/privacy.html')}">Privacy Policy</a>
</div>
</div>
</div>

8
public/themes/website/1/en/demo/components/header.html

@ -165,7 +165,7 @@
</button>
</div>
<div class="site-header__main">
<a href="/" class="header-logo" aria-label="RAYNEN Technology">
<a href="{:getMuiLangUrl('/')}" class="header-logo" aria-label="RAYNEN Technology">
<img
class="header-logo__img--default"
src="{hcTaglib:setting name='logo' type='2' /}"
@ -514,7 +514,7 @@
</ul>
</nav>
<div class="site-header__actions">
<form class="site-header__search" action="/search.html" method="get" role="search">
<form class="site-header__search" action="{:getMuiLangUrl('/search.html')}" method="get" role="search">
<input
class="site-header__search-input"
type="search"
@ -531,7 +531,7 @@
/>
</button>
</form>
<a class="s-btn s-btn--primary site-header__cta" href="/contact.html">Contact us</a>
<a class="s-btn s-btn--primary site-header__cta" href="{:getMuiLangUrl('/contact.html')}">Contact us</a>
</div>
<div class="site-header__extras">
<button class="site-header__extra-btn lang" type="button" aria-label="Switch language">
@ -558,7 +558,7 @@
/>
</svg>
</button>
<a href="/search.html" class="site-header__extra-btn search" aria-label="Search">
<a href="{:getMuiLangUrl('/search.html')}" class="site-header__extra-btn search" aria-label="Search">
<svg
viewBox="0 0 32.9434 32"
xmlns="http://www.w3.org/2000/svg"

4
public/themes/website/1/en/demo/components/mask.html

@ -1,6 +1,6 @@
<div class="mask" id="mask">
<header class="mask-header">
<a href="/" class="mask-header__logo" aria-label="RAYNEN Technology">
<a href="{:getMuiLangUrl('/')}" class="mask-header__logo" aria-label="RAYNEN Technology">
<img src="{hcTaglib:setting name='dark_logo' type='2' /}" alt="RAYNEN Technology" width="252" height="26" />
</a>
<div class="mask-header__actions">
@ -20,7 +20,7 @@
/>
</svg>
</button>
<a href="/search.html" class="mask-header__icon-btn search" aria-label="Search">
<a href="{:getMuiLangUrl('/search.html')}" class="mask-header__icon-btn search" aria-label="Search">
<svg viewBox="0 0 32.9434 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32.943359" height="32.000000" fill="none" customFrame="#000000">
<path
id="矢量 3"

8
public/themes/website/1/en/demo/contact.html

@ -73,28 +73,28 @@
<img src="{$current_cate.thumbnail.url ?? ''}" alt="" width="1920" height="720" />
</div>
<div class="c-banner__cards section__wrap">
<a class="c-card" href="/download.html">
<a class="c-card" href="{:getMuiLangUrl('/download.html')}">
<div class="c-card__head">
<span class="c-card__title">Download Center</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%3e%3crect%20id='容器%20279'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cg%20id='download--02'%3e%3cpath%20id='矢量%20486'%20d='M33.3333%2018.667L44%2018.667L44%2044.0003L4%2044.0003L4%2018.667L14.6667%2018.667'%20fill-rule='nonzero'%20stroke='rgb(0,0,0)'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='矢量%20487'%20d='M32%2028L24%2036L16%2028M24%204L24%2036'%20fill-rule='nonzero'%20stroke='rgb(239,67,53)'%20stroke-width='2.000000'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">Get product documentation</p>
</a>
<a class="c-card" href="/faq.html">
<a class="c-card" href="{:getMuiLangUrl('/faq.html')}">
<div class="c-card__head">
<span class="c-card__title">FAQ</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='Question_and_answer'%3e%3cg%20id='question-and-answer'%3e%3cpath%20id='矢量%20484'%20d='M16.6667%2046L10.8%2037.2L4.93333%2037.2C3.32%2037.2%202%2035.88%202%2034.2667L2%2019.6C2%2017.9867%203.32%2016.6667%204.93333%2016.6667L26.9333%2016.6667C28.5467%2016.6667%2029.8667%2017.9867%2029.8667%2019.6L29.8667%2034.2667C29.8667%2035.88%2028.5467%2037.2%2026.9333%2037.2L16.6667%2037.2M35.7333%2025.4667L38.6667%2019.6L43.0667%2019.6C44.68%2019.6%2046%2018.28%2046%2016.6667L46%204.93333C46%203.32%2044.68%202%2043.0667%202L25.4667%202C23.8533%202%2022.5333%203.32%2022.5333%204.93333L22.5333%2016.6667M34.2667%2019.6L29.8667%2019.6M34.296%2013C34.296%2011.372%2034.5307%2010.9027%2035.5133%2010.3307C36.232%209.92%2036.9213%209.31867%2036.9213%208.10133C36.9213%206.54667%2035.7333%205.66667%2034.2813%205.66667C32.8293%205.66667%2031.6267%206.708%2031.6267%208.10133'%20fill-rule='nonzero'%20stroke='rgb(0,0,0)'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='矢量%20485'%20d='M17.3995%2026.9332C17.3995%2027.7399%2016.7395%2028.3999%2015.9328%2028.3999C15.1261%2028.3999%2014.4661%2027.7399%2014.4661%2026.9332C14.4661%2026.1265%2015.1261%2025.4665%2015.9328%2025.4665C16.7395%2025.4665%2017.3995%2026.1265%2017.3995%2026.9332ZM23.2661%2025.4665C22.4595%2025.4665%2021.7995%2026.1265%2021.7995%2026.9332C21.7995%2027.7399%2022.4595%2028.3999%2023.2661%2028.3999C24.0728%2028.3999%2024.7328%2027.7399%2024.7328%2026.9332C24.7328%2026.1265%2024.0728%2025.4665%2023.2661%2025.4665ZM8.59948%2025.4665C7.79281%2025.4665%207.13281%2026.1265%207.13281%2026.9332C7.13281%2027.7399%207.79281%2028.3999%208.59948%2028.3999C9.40615%2028.3999%2010.0661%2027.7399%2010.0661%2026.9332C10.0661%2026.1265%209.40615%2025.4665%208.59948%2025.4665ZM34.2661%2016.1239C34.7795%2016.1239%2035.1901%2015.7132%2035.1901%2015.2145C35.1901%2014.7159%2034.7795%2014.2905%2034.2661%2014.2905C33.7528%2014.2905%2033.3568%2014.7012%2033.3568%2015.2145C33.3568%2015.7279%2033.7675%2016.1239%2034.2661%2016.1239Z'%20fill='rgb(239,67,53)'%20fill-rule='nonzero'%20/%3e%3c/g%3e%3crect%20id='Transparent_Rectangle'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">Find the answers you need</p>
</a>
<a class="c-card" href="/video.html">
<a class="c-card" href="{:getMuiLangUrl('/video.html')}">
<div class="c-card__head">
<span class="c-card__title">Video Tutorials</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='vuesax/linear/play-circle'%3e%3cg%20id='play-circle'%3e%3cpath%20id='Vector'%20d='M23.9395%2044C12.8938%2044%203.93945%2035.0457%203.93945%2024C3.93945%2012.9543%2012.8938%204%2023.9395%204C34.9852%204%2043.9395%2012.9543%2043.9395%2024C43.9395%2035.0457%2034.9852%2044%2023.9395%2044Z'%20stroke='rgb(41,45,50)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M17.4805%2021.1202C17.4805%2016.9602%2020.4205%2015.2602%2024.0205%2017.3402L26.9205%2019.0202L29.8205%2020.7002C33.4205%2022.7803%2033.4205%2026.1802%2029.8205%2028.2603L26.9205%2029.9403L24.0205%2031.6203C20.4205%2033.7002%2017.4805%2032.0003%2017.4805%2027.8402L17.4805%2024.4602L17.4805%2021.1202Z'%20fill-rule='nonzero'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20opacity='0'%20/%3e%3c/g%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">Watch training videos</p>
</a>
<a class="c-card" href="/announce.html">
<a class="c-card" href="{:getMuiLangUrl('/announce.html')}">
<div class="c-card__head">
<span class="c-card__title">Product Notices</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%3e%3crect%20id='容器%20280'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3cpath%20id='Vector'%20d='M4%2028.091C4%2032.1719%206.07692%2034.2124%2010.2308%2034.2124L13.2036%2034.2124C13.9774%2034.2124%2014.7511%2034.4324%2015.4027%2034.8325L21.4706%2038.5534C26.724%2041.7741%2031%2039.4336%2031%2033.3522L31%2014.6478C31%208.56641%2026.7036%206.22587%2021.4706%209.44662L15.4027%2013.1875C14.7308%2013.5876%2013.9774%2013.8076%2013.2036%2013.8076L10.2308%2013.8076C6.07692%2013.8076%204%2015.8481%204%2019.9291L4%2028.091Z'%20fill-rule='nonzero'%20stroke='rgb(41,45,50)'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M0%200L8%200'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20transform='matrix(0.866025,-0.5,0.5,0.866025,36.5352,15.001)'%20/%3e%3cpath%20id='Vector'%20d='M36%2024L44%2024'%20stroke='rgb(41,45,50)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M0%200L8%200'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20transform='matrix(0.866025,0.5,-0.5,0.866025,36.5352,33)'%20/%3e%3c/svg%3e" alt="" width="48" height="48" />

5
public/themes/website/1/en/demo/news-detail.html

@ -82,7 +82,7 @@
<div class="nd-page">
<div class="nd-layout">
<nav class="nd-breadcrumb" aria-label="Breadcrumb">
<a class="nd-breadcrumb__link" href="/">Home</a>
<a class="nd-breadcrumb__link" href="{:getMuiLangUrl('/')}">Home</a>
<span class="nd-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
@ -99,8 +99,7 @@
{/php}
{/hcTaglib:category}
<!-- 361 -->
{if $current_cate['id'] != 361}
{if $current_cate['id'] != uiId('news')}
<span class="nd-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />

4
public/themes/website/1/en/demo/single_search.html

@ -62,7 +62,7 @@
<div class="sr-page section__wrap">
<div class="sr-hero">
<h1 class="sr-hero__title">Search</h1>
<form class="s-search sr-search" action="/search.html" method="get" role="search">
<form class="s-search sr-search" action="{:getMuiLangUrl('/search.html')}" method="get" role="search">
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="q" value="{$keywords}" placeholder="Search what you want to know" autocomplete="off" />
<button class="s-search__btn" type="submit">Search</button>
@ -99,7 +99,7 @@
if ($sr_q !== '') {
$query['q'] = $sr_q;
}
$sr_tabs[$tabType] = '/search.html?' . http_build_query($query);
$sr_tabs[$tabType] = getMuiLangUrl('/search.html?' . http_build_query($query));
}
{/php}
<div class="sr-tabs" role="tablist" aria-label="Result categories">

30
public/themes/website/1/zh/demo/about.html

@ -65,7 +65,21 @@
<video src="{$current_cate.description}" muted autoplay loop playsinline width="1920" height="720"></video>
</div>
</section>
{hcTaglib:category id="372" item="vo" field="*"}
{php}
$ui_about_intro = uiId('about_intro');
$ui_about_history = uiId('about_history');
$ui_about_culture = uiId('about_culture');
$ui_about_global = uiId('about_global');
$ui_about_members = uiId('about_members');
$ui_about_honors = uiId('about_honors');
$ui_about_csr = uiId('about_csr');
$ui_download_csr = uiId('download_csr');
$csr_report_href = getMuiLangUrl('/download.html');
if ($ui_download_csr > 0) {
$csr_report_href .= '?cid=' . $ui_download_csr;
}
{/php}
{hcTaglib:category id="$ui_about_intro" item="vo" field="*"}
<section class="ab-intro section__wrap" id="intro" data-header-dark>
<h2 class="ab-intro__title">{$vo.title}</h2>
<div class="ab-intro__body">
@ -95,7 +109,7 @@
{/hcTaglib:category}
{hcTaglib:category id="373" item="vo" field="*"}
{hcTaglib:category id="$ui_about_history" item="vo" field="*"}
<section class="ab-history" id="history" data-header-dark style="background-image: url({$vo.thumbnail.url ?? ''})">
<div class="ab-history__head section__wrap">
<h2 class="ab-history__title">{$vo.title}</h2>
@ -147,7 +161,7 @@
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="374" item="vo" field="*"}
{hcTaglib:category id="$ui_about_culture" item="vo" field="*"}
<section class="ab-culture" id="culture">
<div class="ab-culture__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="900" />
@ -179,7 +193,7 @@
</section>
{/hcTaglib:category}
{hcTaglib:category id="375" item="vo" field="*"}
{hcTaglib:category id="$ui_about_global" item="vo" field="*"}
<section class="ab-global section__wrap" id="global" data-header-dark>
<h2 class="ab-global__title">{$vo.title}</h2>
{php}
@ -219,7 +233,7 @@
</section>
{/hcTaglib:category}
{hcTaglib:category id="376" item="vo" field="*"}
{hcTaglib:category id="$ui_about_members" item="vo" field="*"}
<section class="ab-members" id="members">
<div class="ab-members__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="900" />
@ -262,7 +276,7 @@
</section>
{/hcTaglib:category}
{hcTaglib:category id="377" item="vo" field="*"}
{hcTaglib:category id="$ui_about_honors" item="vo" field="*"}
<section class="ab-honors section__wrap" id="honors" data-header-dark>
<div class="ab-honors__head">
<h2 class="ab-honors__title">{$vo.title}</h2>
@ -297,7 +311,7 @@
</section>
{/hcTaglib:category}
{hcTaglib:category id="378" item="vo" field="*"}
{hcTaglib:category id="$ui_about_csr" item="vo" field="*"}
<section class="ab-csr" id="csr">
<div class="ab-csr__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="720" />
@ -308,7 +322,7 @@
<p class="ab-csr__desc">
{$vo.description}
</p>
<a class="s-btn s-btn--light s-btn--pill" href="/download.html?cid=691">社会责任报告</a>
<a class="s-btn s-btn--light s-btn--pill" href="{$csr_report_href}">社会责任报告</a>
</div>
</div>
</section>

2
public/themes/website/1/zh/demo/category.html

@ -66,7 +66,7 @@ $current_cate_id = $current_cate['id'] ?? '';
<main class="main-category" data-header-dark data-nav="产品">
<div class="c-page section__wrap">
<nav class="c-breadcrumb" aria-label="面包屑">
<a class="c-breadcrumb__link" href="/">首页</a>
<a class="c-breadcrumb__link" href="{:getMuiLangUrl('/')}">首页</a>
<span class="c-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />

4
public/themes/website/1/zh/demo/components/footer.html

@ -58,8 +58,8 @@
<p class="site-footer__copyright">Copyright 2026 {hcTaglib:setting name="company_name" type="1" /} 版权所有 | {hcTaglib:setting name="icp" type="2" /} | <img
class="site-footer__gongan" src="/themes/dist_static/static/images/gongan-DdFBmJbc.png" alt="" /> {hcTaglib:setting name="gwa" type="2" /}</p>
<div class="site-footer__legal">
<a href="/sitemap.html">网站地图</a>
<a href="/privacy.html">隐私声明</a>
<a href="{:getMuiLangUrl('/sitemap.html')}">网站地图</a>
<a href="{:getMuiLangUrl('/privacy.html')}">隐私声明</a>
</div>
</div>
</div>

8
public/themes/website/1/zh/demo/components/header.html

@ -165,7 +165,7 @@
</button>
</div>
<div class="site-header__main">
<a href="/" class="header-logo" aria-label="睿能科技">
<a href="{:getMuiLangUrl('/')}" class="header-logo" aria-label="睿能科技">
<img
class="header-logo__img--default"
src="{hcTaglib:setting name='logo' type='2' /}"
@ -515,7 +515,7 @@
</ul>
</nav>
<div class="site-header__actions">
<form class="site-header__search" action="/search.html" method="get" role="search">
<form class="site-header__search" action="{:getMuiLangUrl('/search.html')}" method="get" role="search">
<input
class="site-header__search-input"
type="search"
@ -532,7 +532,7 @@
/>
</button>
</form>
<a class="s-btn s-btn--primary site-header__cta" href="/contact.html">联系我们</a>
<a class="s-btn s-btn--primary site-header__cta" href="{:getMuiLangUrl('/contact.html')}">联系我们</a>
</div>
<div class="site-header__extras">
<button class="site-header__extra-btn lang" type="button" aria-label="切换语言">
@ -559,7 +559,7 @@
/>
</svg>
</button>
<a href="/search.html" class="site-header__extra-btn search" aria-label="搜索">
<a href="{:getMuiLangUrl('/search.html')}" class="site-header__extra-btn search" aria-label="搜索">
<svg
viewBox="0 0 32.9434 32"
xmlns="http://www.w3.org/2000/svg"

4
public/themes/website/1/zh/demo/components/mask.html

@ -1,6 +1,6 @@
<div class="mask" id="mask">
<header class="mask-header">
<a href="/" class="mask-header__logo" aria-label="睿能科技">
<a href="{:getMuiLangUrl('/')}" class="mask-header__logo" aria-label="睿能科技">
<img src="{hcTaglib:setting name='dark_logo' type='2' /}" alt="RAYNEN 睿能科技" width="252" height="26" />
</a>
<div class="mask-header__actions">
@ -20,7 +20,7 @@
/>
</svg>
</button>
<a href="/search.html" class="mask-header__icon-btn search" aria-label="搜索">
<a href="{:getMuiLangUrl('/search.html')}" class="mask-header__icon-btn search" aria-label="搜索">
<svg viewBox="0 0 32.9434 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32.943359" height="32.000000" fill="none" customFrame="#000000">
<path
id="矢量 3"

8
public/themes/website/1/zh/demo/contact.html

@ -73,28 +73,28 @@
<img src="{$current_cate.thumbnail.url ?? ''}" alt="" width="1920" height="720" />
</div>
<div class="c-banner__cards section__wrap">
<a class="c-card" href="/download.html">
<a class="c-card" href="{:getMuiLangUrl('/download.html')}">
<div class="c-card__head">
<span class="c-card__title">下载中心</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%3e%3crect%20id='容器%20279'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cg%20id='download--02'%3e%3cpath%20id='矢量%20486'%20d='M33.3333%2018.667L44%2018.667L44%2044.0003L4%2044.0003L4%2018.667L14.6667%2018.667'%20fill-rule='nonzero'%20stroke='rgb(0,0,0)'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='矢量%20487'%20d='M32%2028L24%2036L16%2028M24%204L24%2036'%20fill-rule='nonzero'%20stroke='rgb(239,67,53)'%20stroke-width='2.000000'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">获取产品相关资料</p>
</a>
<a class="c-card" href="/faq.html">
<a class="c-card" href="{:getMuiLangUrl('/faq.html')}">
<div class="c-card__head">
<span class="c-card__title">常见问题</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='Question_and_answer'%3e%3cg%20id='question-and-answer'%3e%3cpath%20id='矢量%20484'%20d='M16.6667%2046L10.8%2037.2L4.93333%2037.2C3.32%2037.2%202%2035.88%202%2034.2667L2%2019.6C2%2017.9867%203.32%2016.6667%204.93333%2016.6667L26.9333%2016.6667C28.5467%2016.6667%2029.8667%2017.9867%2029.8667%2019.6L29.8667%2034.2667C29.8667%2035.88%2028.5467%2037.2%2026.9333%2037.2L16.6667%2037.2M35.7333%2025.4667L38.6667%2019.6L43.0667%2019.6C44.68%2019.6%2046%2018.28%2046%2016.6667L46%204.93333C46%203.32%2044.68%202%2043.0667%202L25.4667%202C23.8533%202%2022.5333%203.32%2022.5333%204.93333L22.5333%2016.6667M34.2667%2019.6L29.8667%2019.6M34.296%2013C34.296%2011.372%2034.5307%2010.9027%2035.5133%2010.3307C36.232%209.92%2036.9213%209.31867%2036.9213%208.10133C36.9213%206.54667%2035.7333%205.66667%2034.2813%205.66667C32.8293%205.66667%2031.6267%206.708%2031.6267%208.10133'%20fill-rule='nonzero'%20stroke='rgb(0,0,0)'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='矢量%20485'%20d='M17.3995%2026.9332C17.3995%2027.7399%2016.7395%2028.3999%2015.9328%2028.3999C15.1261%2028.3999%2014.4661%2027.7399%2014.4661%2026.9332C14.4661%2026.1265%2015.1261%2025.4665%2015.9328%2025.4665C16.7395%2025.4665%2017.3995%2026.1265%2017.3995%2026.9332ZM23.2661%2025.4665C22.4595%2025.4665%2021.7995%2026.1265%2021.7995%2026.9332C21.7995%2027.7399%2022.4595%2028.3999%2023.2661%2028.3999C24.0728%2028.3999%2024.7328%2027.7399%2024.7328%2026.9332C24.7328%2026.1265%2024.0728%2025.4665%2023.2661%2025.4665ZM8.59948%2025.4665C7.79281%2025.4665%207.13281%2026.1265%207.13281%2026.9332C7.13281%2027.7399%207.79281%2028.3999%208.59948%2028.3999C9.40615%2028.3999%2010.0661%2027.7399%2010.0661%2026.9332C10.0661%2026.1265%209.40615%2025.4665%208.59948%2025.4665ZM34.2661%2016.1239C34.7795%2016.1239%2035.1901%2015.7132%2035.1901%2015.2145C35.1901%2014.7159%2034.7795%2014.2905%2034.2661%2014.2905C33.7528%2014.2905%2033.3568%2014.7012%2033.3568%2015.2145C33.3568%2015.7279%2033.7675%2016.1239%2034.2661%2016.1239Z'%20fill='rgb(239,67,53)'%20fill-rule='nonzero'%20/%3e%3c/g%3e%3crect%20id='Transparent_Rectangle'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">在这里,寻找想要的答案</p>
</a>
<a class="c-card" href="/video.html">
<a class="c-card" href="{:getMuiLangUrl('/video.html')}">
<div class="c-card__head">
<span class="c-card__title">视频教程</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='vuesax/linear/play-circle'%3e%3cg%20id='play-circle'%3e%3cpath%20id='Vector'%20d='M23.9395%2044C12.8938%2044%203.93945%2035.0457%203.93945%2024C3.93945%2012.9543%2012.8938%204%2023.9395%204C34.9852%204%2043.9395%2012.9543%2043.9395%2024C43.9395%2035.0457%2034.9852%2044%2023.9395%2044Z'%20stroke='rgb(41,45,50)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M17.4805%2021.1202C17.4805%2016.9602%2020.4205%2015.2602%2024.0205%2017.3402L26.9205%2019.0202L29.8205%2020.7002C33.4205%2022.7803%2033.4205%2026.1802%2029.8205%2028.2603L26.9205%2029.9403L24.0205%2031.6203C20.4205%2033.7002%2017.4805%2032.0003%2017.4805%2027.8402L17.4805%2024.4602L17.4805%2021.1202Z'%20fill-rule='nonzero'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20opacity='0'%20/%3e%3c/g%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">提供相关视频进行培训</p>
</a>
<a class="c-card" href="/announce.html">
<a class="c-card" href="{:getMuiLangUrl('/announce.html')}">
<div class="c-card__head">
<span class="c-card__title">产品公告</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%3e%3crect%20id='容器%20280'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3cpath%20id='Vector'%20d='M4%2028.091C4%2032.1719%206.07692%2034.2124%2010.2308%2034.2124L13.2036%2034.2124C13.9774%2034.2124%2014.7511%2034.4324%2015.4027%2034.8325L21.4706%2038.5534C26.724%2041.7741%2031%2039.4336%2031%2033.3522L31%2014.6478C31%208.56641%2026.7036%206.22587%2021.4706%209.44662L15.4027%2013.1875C14.7308%2013.5876%2013.9774%2013.8076%2013.2036%2013.8076L10.2308%2013.8076C6.07692%2013.8076%204%2015.8481%204%2019.9291L4%2028.091Z'%20fill-rule='nonzero'%20stroke='rgb(41,45,50)'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M0%200L8%200'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20transform='matrix(0.866025,-0.5,0.5,0.866025,36.5352,15.001)'%20/%3e%3cpath%20id='Vector'%20d='M36%2024L44%2024'%20stroke='rgb(41,45,50)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M0%200L8%200'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20transform='matrix(0.866025,0.5,-0.5,0.866025,36.5352,33)'%20/%3e%3c/svg%3e" alt="" width="48" height="48" />

5
public/themes/website/1/zh/demo/news-detail.html

@ -82,7 +82,7 @@
<div class="nd-page">
<div class="nd-layout">
<nav class="nd-breadcrumb" aria-label="面包屑">
<a class="nd-breadcrumb__link" href="/">首页</a>
<a class="nd-breadcrumb__link" href="{:getMuiLangUrl('/')}">首页</a>
<span class="nd-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
@ -99,8 +99,7 @@
{/php}
{/hcTaglib:category}
<!-- 361 -->
{if $current_cate['id'] != 361}
{if $current_cate['id'] != uiId('news')}
<span class="nd-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />

4
public/themes/website/1/zh/demo/single_search.html

@ -62,7 +62,7 @@
<div class="sr-page section__wrap">
<div class="sr-hero">
<h1 class="sr-hero__title">搜索</h1>
<form class="s-search sr-search" action="/search.html" method="get" role="search">
<form class="s-search sr-search" action="{:getMuiLangUrl('/search.html')}" method="get" role="search">
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="q" value="{$keywords}" placeholder="请输入您想了解的内容" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
@ -99,7 +99,7 @@
if ($sr_q !== '') {
$query['q'] = $sr_q;
}
$sr_tabs[$tabType] = '/search.html?' . http_build_query($query);
$sr_tabs[$tabType] = getMuiLangUrl('/search.html?' . http_build_query($query));
}
{/php}
<div class="sr-tabs" role="tablist" aria-label="结果分类">

Loading…
Cancel
Save