upgrade: adopt V8.31.1 (theme 1.3/1.4 redesigns, editor deep-canvas, guided launch, component library)
Overlay 190 upstream items (V8.22→8.31) preserving trade-pro theme, registry tests, and design docs. Re-applied full patch set on identical anchors (discovery/env_for/blocks.css/type-mapping/locale-override/ theme_color/frontend entries/test_theme_pro_v3 mods) plus compose pins. Verified: theme suites 35/35; dual-baseline full run 415 passed vs pristine 386+29 ours, FAILED-set diff EMPTY (same 10 Windows env fails). Live: container 8.31.1-dev.1 healthy, hesupipe 192 entries intact, trade-pro build 203 pages 0 errors. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -1,2 +1,4 @@
|
||||
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
|
||||
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
|
||||
<div class="pro-v30-page pro-v30-about pro-v30-about-industrial"><section class="pro-v30-about-opening"><div class="pro-wrap"><span class="pro-eyebrow">OUR COMPANY / APPROACH</span><div class="pro-v30-about-heading"><h1>{{page.title}}</h1><p>{{page.summary or site.tagline or '了解材料、产品与工程应用'}}</p></div></div></section>
|
||||
<section class="pro-section pro-v30-about-story"><div class="pro-wrap pro-v30-about-grid"><div class="pro-v30-about-media">{% if page.cover %}<img src="{{safe_image(page.cover)}}" alt="{{page.title}}" loading="lazy">{% else %}<div class="pro-v30-media-placeholder" aria-hidden="true"><span>OUR / STORY</span></div>{% endif %}</div><div class="pro-v30-about-copy"><span class="pro-eyebrow">ABOUT / 企业与制造</span><h2>面向实际工程需求的产品与服务</h2>{{body_copy(content,page)}}<a class="pro-v30-text-action" href="/contact/">联系与合作 ↗</a></div></div></section>
|
||||
{% if features %}<section class="pro-section pro-v30-about-services"><div class="pro-wrap">{{section_title('WHAT WE DO','相关服务','/services/')}}{{grid(features,'service')}}</div></section>{% endif %}
|
||||
{% if cases %}<section class="pro-section pro-v30-about-cases"><div class="pro-wrap">{{section_title('SELECTED WORK','相关项目','/cases/')}}{{grid(cases,'case')}}</div></section>{% endif %}</div>
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
<section class="pro-article-hero"><div class="pro-wrap pro-article-width"><span class="pro-eyebrow">LATEST NEWS / INSIGHTS</span><h1>{{page.title}}</h1><p>{{page.summary}}</p>{% if fields.get('publish_date') %}<time>{{fields.get('publish_date')}}</time>{% endif %}</div></section><article class="pro-wrap pro-article-content">{% if page.cover %}<img class="pro-article-cover" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}{{body_copy(content,page)}}<a class="pro-text-link" href="/news/">← 返回新闻</a></article>
|
||||
<div class="pro-v30-page pro-v30-article pro-v30-article-industrial"><section class="pro-article-hero pro-v30-reading-head"><div class="pro-wrap"><nav class="pro-v30-crumb" aria-label="面包屑导航"><a href="/">首页</a><span aria-hidden="true">/</span><a href="/news/">技术与行业动态</a></nav><div class="pro-v30-reading-title"><span class="pro-eyebrow">IDEAS / JOURNAL</span><h1>{{page.title}}</h1>{% if page.summary %}<p>{{page.summary}}</p>{% endif %}{% if fields.get('publish_date') %}<time datetime="{{fields.get('publish_date')}}">{{fields.get('publish_date')}}</time>{% endif %}</div></div></section>
|
||||
<div class="pro-wrap pro-v30-reading-layout"><aside class="pro-v30-reading-aside"><span class="pro-eyebrow">READ / EXPLORE</span><a href="/news/">← 返回资讯</a><span class="pro-v30-reading-rule" aria-hidden="true"></span><a href="/contact/">联系沟通 ↗</a></aside><article id="article-body" class="pro-v30-reading-content">{% if page.cover %}<figure><img src="{{safe_image(page.cover)}}" alt="{{page.title}}" loading="eager"></figure>{% endif %}{{body_copy(content,page)}}<a class="pro-v30-subtle-link" href="/news/">← 返回资讯</a></article></div></div>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
|
||||
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
|
||||
|
||||
{% if form_endpoint %}
|
||||
<section class="pro-section"><div class="pro-wrap pro-inquiry-wrap"><div><span class="pro-eyebrow">CONTACT FORM</span><h2>提交业务咨询</h2><p>提交内容将直接发送到网站管理员配置的外部表单服务。</p></div>
|
||||
<form class="pro-inquiry" action="{{form_endpoint}}" method="POST"><label>姓名 <input name="name" autocomplete="name" required maxlength="100"></label><label>邮箱 <input name="email" type="email" autocomplete="email" required maxlength="180"></label><label>咨询内容 <textarea name="message" required minlength="6" maxlength="5000"></textarea></label><input name="website" tabindex="-1" autocomplete="off" class="pro-honeypot" aria-hidden="true"><button type="submit" class="pro-button">提交咨询 ↗</button><p>表单提交由外部服务处理,请确认其隐私政策及垃圾信息过滤设置。</p></form></div></section>
|
||||
{% endif %}
|
||||
<div class="pro-v30-page pro-v30-contact pro-v30-contact-industrial"><section class="pro-v30-contact-header"><div class="pro-wrap"><span class="pro-eyebrow">CONNECT / CONTACT</span><h1>{{page.title}}</h1><p>{{page.summary or '提交产品、规格和应用场景需求,方便进一步沟通。'}}</p></div></section>
|
||||
<section class="pro-section pro-v30-contact-content"><div class="pro-wrap pro-v30-contact-layout"><div class="pro-v30-contact-info"><span class="pro-eyebrow">LET'S START A CONVERSATION</span><h2>咨询工程材料</h2>{{body_copy(content,page)}}
|
||||
{% if footer_email %}<div class="pro-v30-contact-channel"><span>电子邮箱</span><a href="mailto:{{footer_email}}">{{footer_email}} ↗</a></div>{% endif %}
|
||||
{% if not footer_email and not form_endpoint %}<p class="pro-muted">联系渠道正在更新,请稍后访问本页面。</p>{% endif %}
|
||||
</div><div class="pro-v30-contact-form-wrap">{% if form_endpoint %}<span class="pro-eyebrow">SEND AN INQUIRY</span><h3>提交咨询</h3><form class="pro-inquiry" action="{{form_endpoint}}" method="POST"><label>姓名 <input name="name" autocomplete="name" required maxlength="100"></label><label>邮箱 <input name="email" type="email" autocomplete="email" required maxlength="180"></label><label>咨询内容 <textarea name="message" required minlength="6" maxlength="5000"></textarea></label><input name="website" tabindex="-1" autocomplete="off" class="pro-honeypot" aria-hidden="true"><button type="submit" class="pro-button">发送咨询 ↗</button><p>提交信息将发送至配置的外部表单服务,请了解其隐私政策。</p></form>
|
||||
{% else %}<div class="pro-v30-contact-note"><span class="pro-eyebrow">HOW TO REACH US</span><p>您可以通过本页提供的联系渠道咨询产品、项目或合作事项。</p><span class="pro-v30-decorative-number" aria-hidden="true">↗</span></div>{% endif %}</div></div></section></div>
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
{% if categories %}<section class="pro-section pro-category-band"><div class="pro-wrap">{{section_title('PRODUCT SYSTEMS','从类别开始探索','/products/')}}<div class="pro-category-tiles">{% for cat in categories[:6] %}<a href="{{cat.url}}"><span>0{{loop.index}}</span><strong>{{cat.name}}</strong><b>↗</b></a>{% endfor %}</div></div></section>{% endif %}
|
||||
<section class="pro-section pro-featured"><div class="pro-wrap">{{section_title('PRODUCT PORTFOLIO','核心产品','/products/')}}{{grid(showcase,'industrial')}}</div></section>
|
||||
<section class="pro-section pro-statement"><div class="pro-wrap pro-statement-layout"><span class="pro-eyebrow">APPLICATIONS & SUPPORT</span><div><h2>专注可靠交付,服务多元项目。</h2><p>{{site.tagline or '企业技术、材料和服务能力展示。'}}</p><a class="pro-text-link" href="/services/">服务与解决方案 ↗</a></div></div></section>
|
||||
|
||||
{% if cases %}<section class="pro-section pro-v30-home-editorial"><div class="pro-wrap">{{section_title('APPLICATIONS / CASES','应用项目','/cases/')}}{{grid(cases,'case')}}</div></section>{% endif %}
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
<section class="pro-inner-hero pro-listing-hero"><div class="pro-wrap"><span class="pro-eyebrow">DISCOVER / {{'CATEGORY' if kind=='category' else 'COLLECTION'}}</span><h1>{{page.title}}</h1><p>{{page.summary or '查看此栏目的全部已发布内容。'}}</p><div class="pro-breadcrumb"><a href="/">首页</a><span>/</span><strong>{{page.title}}</strong></div></div></section>
|
||||
<section class="pro-section pro-list-section"><div class="pro-wrap">{{ filters() }}<div class="pro-filter-scope">{{grid(listing,'catalog')}}</div>{% if pagination and pagination.pages>1 %}<nav class="pro-pages-nav" aria-label="商品列表分页">{% if pagination.previous %}<a href="{{pagination.previous}}" rel="prev">← 上一页</a>{% endif %}<span>第 {{pagination.page}} / {{pagination.pages}} 页</span>{% if pagination.next %}<a href="{{pagination.next}}" rel="next">下一页 →</a>{% endif %}</nav>{% endif %}</div></section>
|
||||
<div class="pro-v30-page pro-v30-listing pro-v30-technical-index">
|
||||
<section class="pro-v30-page-intro"><div class="pro-wrap pro-v30-intro-layout"><div class="pro-v30-intro-main"><span class="pro-eyebrow">ENGINEERING MATERIALS / INDEX</span><h1>{{page.title}}</h1><p>{{page.summary or '通过材料分类与规格快速查找产品'}}</p></div><div class="pro-v30-intro-aside"><span class="pro-v30-overline">BROWSE / EXPLORE</span><span class="pro-v30-index-number">{{'%02d'|format(listing|length)}}</span><span class="pro-v30-caption">本页展示内容</span></div></div></section>
|
||||
<section class="pro-section pro-v30-index-body"><div class="pro-wrap"><div class="pro-v30-index-toolbar"><div class="pro-v30-section-title"><span class="pro-eyebrow">CONTENTS / FIND YOUR FIT</span><h2>产品与材料</h2></div><a class="pro-v30-subtle-link" href="/contact/">需要协助?联系沟通 ↗</a></div>
|
||||
{{filters()}}<div class="pro-filter-scope pro-v30-results" aria-live="polite">{{grid(listing,'catalog')}}</div>
|
||||
{% if pagination and pagination.pages>1 %}<nav class="pro-pages-nav" aria-label="列表分页">{% if pagination.previous %}<a href="{{pagination.previous}}" rel="prev">← 上一页</a>{% endif %}<span>第 {{pagination.page}} / {{pagination.pages}} 页</span>{% if pagination.next %}<a href="{{pagination.next}}" rel="next">下一页 →</a>{% endif %}</nav>{% endif %}
|
||||
</div></section></div>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<section class="pro-section pro-product-layout"><div class="pro-wrap"><div class="pro-breadcrumb"><a href="/">首页</a><span>/</span><a href="/products/">产品中心</a><span>/</span><strong>{{page.title}}</strong></div>
|
||||
<div class="pro-product-hero"><div class="pro-product-gallery"><div class="pro-product-media">{{cover(page,'product')}}</div>{% if gallery|length>1 %}<div class="pro-gallery-thumbs" aria-label="产品图片画廊">{% for photo in gallery %}<button type="button" data-gallery-image="{{photo}}" aria-label="查看第{{loop.index}}张图片"><img src="{{photo}}" alt="{{page.title}} · 图{{loop.index}}" loading="lazy"></button>{% endfor %}</div>{% endif %}</div><div class="pro-product-summary"><span class="pro-eyebrow">PRODUCT DETAILS / {{fields.get('brand') or 'COLLECTION'}}</span><h1>{{page.title}}</h1><p>{{page.summary or '在此查看产品详细资料。'}}</p>{% if fields.get('brand') %}<p class="pro-product-brand">品牌 · {{fields.get('brand')}}</p>{% endif %}<a class="pro-button" href="/contact/">咨询该产品 <span>↗</span></a></div></div>
|
||||
<div class="pro-detail-layout"><div><span class="pro-eyebrow">OVERVIEW</span><h2>产品介绍</h2>{{body_copy(content,page)}}</div><div><span class="pro-eyebrow">SPECIFICATIONS</span><h2>规格参数</h2><div class="pro-specs">{% for row in specs %}<div><span>{{row.label}}</span><strong>{{row.value}}</strong></div>{% else %}<p class="pro-muted">尚未填写详细参数。</p>{% endfor %}</div></div></div></div></section>
|
||||
<div class="pro-product-layout pro-v30-page pro-v30-product pro-v30-product-industrial"><section class="pro-v30-product-top"><div class="pro-wrap"><nav class="pro-v30-crumb" aria-label="面包屑导航"><a href="/">首页</a><span aria-hidden="true">/</span><a href="/products/">产品与材料</a><span aria-hidden="true">/</span><span aria-current="page">{{page.title}}</span></nav>
|
||||
<div class="pro-v30-product-head"><div class="pro-v30-product-intro"><span class="pro-eyebrow">ENGINEERING MATERIALS / DETAILS</span><h1>{{page.title}}</h1><p>{{page.summary or ''}}</p><div class="pro-v30-tags">{% if fields.get('brand') %}<span>{{fields.get('brand')}}</span>{% endif %}{% if fields.get('category') %}<span>{{fields.get('category')}}</span>{% endif %}</div><a class="pro-button pro-v30-action" href="/contact/">咨询相关信息 ↗</a></div>
|
||||
<div class="pro-v30-product-visual"><div class="pro-product-media pro-v30-main-media">{{cover(page,'product')}}</div>{% if gallery|length > 1 %}<div class="pro-gallery-thumbs" aria-label="产品展示">{% for photo in gallery %}<button type="button" data-gallery-image="{{photo}}" aria-label="查看第{{loop.index}}张图片"><img src="{{photo}}" alt="{{page.title}} · 图片{{loop.index}}" loading="lazy"></button>{% endfor %}</div>{% endif %}</div></div></div></section>
|
||||
<section class="pro-section pro-v30-product-information"><div class="pro-wrap pro-v30-product-details"><div class="pro-v30-details-main"><span class="pro-eyebrow">OVERVIEW / 产品资料</span><h2>产品资料</h2>{{body_copy(content,page)}}</div><aside class="pro-v30-details-side"><span class="pro-eyebrow">TECHNICAL / FACTS</span><h2>技术规格</h2><div class="pro-specs">{% for row in specs %}<div><span>{{row.label}}</span><strong>{{row.value}}</strong></div>{% else %}<p class="pro-muted">更多资料请通过联系页面咨询。</p>{% endfor %}</div></aside></div></section></div>
|
||||
|
||||
Reference in New Issue
Block a user