Browse Source

Merge remote-tracking branch 'origin/master'

master
loucongjun 3 weeks ago
parent
commit
40b337672d
  1. 1
      public/themes/dist_static/static/js/category-D-gqzpG1.js
  2. 9
      public/themes/dist_static/static/js/category.js
  3. 30
      public/themes/website/1/zh/demo/category.html

1
public/themes/dist_static/static/js/category-D-gqzpG1.js

@ -1 +0,0 @@
import"./common-DqchIN4G.js";var e=`industrial-control`;function t(){let e=document.querySelector(`[data-nav]`)?.getAttribute(`data-nav`);e&&document.querySelectorAll(`.site-header__nav a`).forEach(t=>{let n=t.textContent.trim().startsWith(e);t.classList.toggle(`is-active`,n)})}function n(){let t=new URLSearchParams(window.location.search).get(`cat`);return document.querySelector(`[data-category-item="${t}"]`)?t:e}function r(e){return document.querySelector(`.c-sidebar__trigger[data-category-id="${e}"]`)?.dataset.categoryName||``}function i(e){document.querySelectorAll(`[data-category-item]`).forEach(t=>{let n=t.dataset.categoryItem===e.expandedId;t.classList.toggle(`is-active`,n),t.querySelector(`.c-sidebar__trigger`)?.setAttribute(`aria-expanded`,n?`true`:`false`)}),document.querySelectorAll(`.c-sidebar__sub`).forEach(t=>{let n=t.dataset.categoryId===e.categoryId&&t.dataset.subId===e.subId;t.classList.toggle(`is-active`,n)})}function a(e){document.querySelectorAll(`[data-category-panel]`).forEach(t=>{t.hidden=t.dataset.categoryPanel!==e.categoryId})}function o(e){let t=document.querySelector(`[data-category-panel="${e.categoryId}"]`);if(!t)return;let n=t.querySelector(`[data-product-grid]`),r=t.querySelector(`[data-product-empty]`);if(!n||!r)return;let i=[...n.querySelectorAll(`.s-product-card`)],a=0;i.forEach(t=>{let n=!e.subId||t.dataset.sub===e.subId;t.hidden=!n,n&&(a+=1)}),n.hidden=a===0,r.hidden=a>0}function s(e){let t=r(e.categoryId),n=document.querySelector(`[data-breadcrumb-current]`);n&&t&&(n.textContent=t),t&&(document.title=`${t} - 睿能科技`)}function c(e){i(e),a(e),o(e),s(e)}function l(e){let t=document.querySelector(`[data-category-nav]`);t&&t.addEventListener(`click`,t=>{let n=t.target.closest(`[data-category-id]`);if(n){if(n.classList.contains(`c-sidebar__sub`))e.categoryId=n.dataset.categoryId,e.subId=n.dataset.subId,e.expandedId=n.dataset.categoryId;else{let t=n.dataset.categoryId;if(e.expandedId===t)e.expandedId=``;else{e.expandedId=t,e.categoryId=t,e.subId=``;let n=new URL(window.location.href);n.searchParams.set(`cat`,t),window.history.replaceState(null,``,n)}}c(e)}})}$(function(){let e={categoryId:n(),expandedId:n(),subId:``};t(),c(e),l(e)});

9
public/themes/dist_static/static/js/category.js

@ -1,6 +1,8 @@
import "./common.js";
//#region js/category.js
var DEFAULT_CATEGORY_ID = "industrial-control";
function getDefaultCategoryId() {
return document.querySelector("[data-category-item]")?.dataset.categoryItem || "";
}
function setActiveNav() {
const pageNav = document.querySelector("[data-nav]")?.getAttribute("data-nav");
if (!pageNav) return;
@ -11,7 +13,8 @@ function setActiveNav() {
}
function getCategoryIdFromQuery() {
const id = new URLSearchParams(window.location.search).get("cat");
return document.querySelector(`[data-category-item="${id}"]`) ? id : DEFAULT_CATEGORY_ID;
if (id && document.querySelector(`[data-category-item="${id}"]`)) return id;
return getDefaultCategoryId();
}
function getCategoryName(categoryId) {
return document.querySelector(`.c-sidebar__trigger[data-category-id="${categoryId}"]`)?.dataset.categoryName || "";
@ -90,7 +93,7 @@ $(function() {
const state = {
categoryId,
expandedId: categoryId,
subId: document.querySelector(`.c-sidebar__sub[data-category-id="${categoryId}"]`)?.dataset.subId || ""
subId: ""
};
setActiveNav();
updateView(state);

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

@ -94,9 +94,9 @@ $current_cate_id = $current_cate['id'] ?? '';
$sub_cate_id = $vo['id']; // 获取子分类的ID
$need_show_sub_content = $vo['need_show_sub_content'] ?? 0; //是否需要展示此分类下的内容列表0=不展示,1=展示
{/php}
<li class="c-sidebar__item {if $key==1}is-active{/if}" data-category-item="product-control-{$vo.id}">
<li class="c-sidebar__item {if $key_top==1}is-active{/if}" data-category-item="product-control-{$vo.id}">
<button type="button" class="c-sidebar__trigger" data-category-id="product-control-{$vo.id}" data-category-name="{$vo.title}" aria-expanded="true">
<button type="button" class="c-sidebar__trigger" data-category-id="product-control-{$vo.id}" data-category-name="{$vo.title}" aria-expanded="{if $key_top==1}true{else /}false{/if}">
<span>{$vo.title}</span>
<span class="c-sidebar__chevron" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
@ -126,22 +126,14 @@ $current_cate_id = $current_cate['id'] ?? '';
// $need_show_sub_content = $vo['need_show_sub_content'] ?? 0; //是否需要展示此分类下的内容列表0=不展示,1=展示
{/php}
<div class="c-panel" data-category-panel="product-control-{$vo.id}">
{hcTaglib:subcategory pid="$sub_cate_id" item="vo_sub" sort="" key="key_sub"}
<!-- 获取当前分类的所有文章 -->
{hcTaglib:contentPage2 cid="$vo_sub.id" mainField="id,category_id,title,sub_title,thumbnail" subField="" name="hc_content" limit="100" item="content_sub22" sort="sort asc"}
{/hcTaglib:contentPage2}
{if !empty($hc_content)}
<div class="c-panel" data-category-panel="product-control-{$vo.id}" {if $key_top!=1}hidden{/if}>
<div class="c-grid" data-product-grid>
{volist name="hc_content" id="vo_content"}
{php}
// $sub_cate_id = $vo['id']; // 获取子分类的ID
// var_dump($vo_content->toArray());exit;
// $need_show_sub_content = $vo['need_show_sub_content'] ?? 0; //是否需要展示此分类下的内容列表0=不展示,1=展示
{/php}
{hcTaglib:subcategory pid="$sub_cate_id" item="vo_sub" sort="" key="key_sub"}
<!-- 获取当前二级分类的所有产品,统一放进同一个 grid -->
{hcTaglib:contentPage2 cid="$vo_sub.id" mainField="id,category_id,title,sub_title,thumbnail" subField="" name="hc_content" limit="100" item="content_sub22" sort="sort asc"}
{/hcTaglib:contentPage2}
{volist name="hc_content" id="vo_content"}
<article class="s-product-card" data-sub="product-plc-{$vo_sub.id}">
<a class="s-product-card__link" href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">
<div class="s-product-card__media">
@ -161,16 +153,12 @@ $current_cate_id = $current_cate['id'] ?? '';
</a>
</article>
{/volist}
{/hcTaglib:subcategory}
</div>
{else /}
<div class="c-empty" data-product-empty hidden>
<p class="c-empty__text">暂无产品</p>
</div>
{/if}
{/hcTaglib:subcategory}
</div>
{/hcTaglib:subcategory}

Loading…
Cancel
Save