kneo_marketplace/docs/change-log.md
Warren Chen 3ce43df93c Add product hero section and homepage hero products component
- Introduced a new view component for product hardware hero section (_ProductHardwarePrHero.cshtml) that displays product details including titles, features, and a copy with expandable text.
- Created a homepage hero products component (Default.cshtml) to showcase the first product in a list and provide navigation dots for additional products.
- Added a placeholder for when no products are available, guiding users to set products in the backend.
- Included a new image asset (vehicle-transportation.png) for use in the product hero section.
2026-05-07 00:37:33 +09:00

143 lines
7.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 變更紀錄(通用)
## 用途
本文件用於記錄「已實作的工程變更」包含程式、SQL、設定與驗證結果。
每次調整請以日期區段追加,避免只留在對話訊息中。
---
## 2026-05-03前台/媒體改造規劃文件建立
### 內容
1. 新增前台翻新與媒體儲存架構規劃文件:
[frontend-media-storage-plan.md](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/docs/frontend-media-storage-plan.md)
2. 規劃重點已明確寫入:
- 新 Theme`Kneo`)方向
- 私有 S3/MinIO + media proxy
- 分階段導入前台與媒體基礎、PictureService 套用、最終遷移)
- 部署檢查清單與風險控制
---
## 2026-05-03本機啟動連接埠修正
### 內容
1. 修正啟動設定避免自動開瀏覽器連到錯誤埠:
[launchSettings.json](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Properties/launchSettings.json)
2. 調整結果:
- `applicationUrl``https://localhost:5001;http://localhost:5000`
- 改為 `http://localhost:5000`
---
## 2026-05-03 ~ 2026-05-05分類結構調整 SQL 與資料落地
### 新增檔案
1. [category-restructure-20260503.sql](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/docs/sql/category-restructure-20260503.sql)
2. [category-delete-legacy-software-children-20260503.sql](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/docs/sql/category-delete-legacy-software-children-20260503.sql)
3. [category-localization-backfill-tw-20260503.sql](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/docs/sql/category-localization-backfill-tw-20260503.sql)
### 重點變更
1. 新分類骨架:
- `Hardware`
- `Software`
- `AI Application``Smart Retail``Medical & Health``Vehicle & Transportation``Smart Manufacture``Smart Home``Future City`
- `Books``Physical Books``E-Books``Certification Books`
2. 中文多語系:
- 透過 `LocalizedProperty` 寫入
- 修正語系代碼匹配包含 `tw`
3. 舊子類刪除策略:
- 由名稱比對改為父節點比對
- 只要是 `Software` 的直屬子類即納入清理
4. 實表名相容:
- SQL 依實際資料表 `Product_Category_Mapping` 修正(非 `ProductCategory`
### 已驗證結果kneo_dev
1. 分類重構 SQL 已成功 `COMMIT`
2.`Software` 子類已清空(查詢為 0 筆)。
3. `AI Application` 六子類仍存在。
4. 13 個目標分類中文多語系已補齊。
---
## 2026-05-05硬體 PR 欄位實作(商品層)
### 內容
1. 新增產品 PR 欄位預設鍵定義(以 `GenericAttribute` 儲存):
[NopProductPrDefaults.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Libraries/Nop.Core/Domain/Catalog/NopProductPrDefaults.cs)
2. 後台產品模型新增 PR 欄位(含多語系與字級欄位):
[ProductModel.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Areas/Admin/Models/Catalog/ProductModel.cs)
3. 後台產品編輯頁新增「硬體 PR 區塊」卡片與欄位:
- [_CreateOrUpdate.cshtml](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Areas/Admin/Views/Product/_CreateOrUpdate.cshtml)
- [_CreateOrUpdate.HardwarePr.cshtml](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Areas/Admin/Views/Product/_CreateOrUpdate.HardwarePr.cshtml)
4. 後台儲存流程已接上:
- `Create/Edit` 會寫入 PR 欄位
- `UpdateLocalesAsync` 會寫入各語言版本欄位key 帶 `LanguageId`
[ProductController.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Areas/Admin/Controllers/ProductController.cs)
5. 後台載入流程已接上(含多語系讀取):
[ProductModelFactory.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Areas/Admin/Factories/ProductModelFactory.cs)
6. 前台硬體商品頁已接上 PR 區塊渲染:
- 公開模型新增對應欄位:
[ProductDetailsModel.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Models/Catalog/ProductDetailsModel.cs)
- 產品模型工廠新增語言 fallback 讀取:
[ProductModelFactory.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Factories/ProductModelFactory.cs)
- 硬體模板插入 PR 區塊:
[ProductTemplate.Hardware.cshtml](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Views/Product/ProductTemplate.Hardware.cshtml)
- PR 區塊 partial含 PR 全文展開 `details/summary`
[_ProductHardwarePrHero.cshtml](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Views/Product/_ProductHardwarePrHero.cshtml)
### 驗證
1. `dotnet build src/Presentation/Nop.Web/Nop.Web.csproj -c Debug` 成功0 error
---
## 2026-05-05首頁輪播開關與排序獨立管理
### 內容
1. 新增首頁輪播映射實體:
[HomepageHeroProduct.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Libraries/Nop.Core/Domain/Catalog/HomepageHeroProduct.cs)
2. 新增資料表 mapping builder
[HomepageHeroProductBuilder.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Libraries/Nop.Data/Mapping/Builders/Catalog/HomepageHeroProductBuilder.cs)
3. 新增 migration供既有環境升級時建表
[HomepageHeroProductMigration.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Libraries/Nop.Data/Migrations/UpgradeTo470/HomepageHeroProductMigration.cs)
4. 新增服務層:
- [IHomepageHeroProductService.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Libraries/Nop.Services/Catalog/IHomepageHeroProductService.cs)
- [HomepageHeroProductService.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Libraries/Nop.Services/Catalog/HomepageHeroProductService.cs)
5. 後台商品管理新增首頁輪播管理頁(加入/刪除/啟用/排序):
- [ProductController.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Areas/Admin/Controllers/ProductController.cs)
- [HomepageHero.cshtml](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Areas/Admin/Views/Product/HomepageHero.cshtml)
- [HomepageHeroProductModel.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Areas/Admin/Models/Catalog/HomepageHeroProductModel.cs)
- [List.cshtml](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Areas/Admin/Views/Product/List.cshtml)(增加「首頁輪播」入口按鈕)
6. 前台首頁接入輪播資料來源:
- [HomepageHeroProductsViewComponent.cs](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Components/HomepageHeroProductsViewComponent.cs)
- [Default.cshtml](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Views/Shared/Components/HomepageHeroProducts/Default.cshtml)
- [Index.cshtml](/Users/chenyanhan/Documents/Projects/Kneo_marketplace/src/Presentation/Nop.Web/Views/Home/Index.cshtml)
### 驗證
1. `dotnet build src/Presentation/Nop.Web/Nop.Web.csproj -c Debug` 成功0 error