- 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.
143 lines
7.0 KiB
Markdown
143 lines
7.0 KiB
Markdown
# 變更紀錄(通用)
|
||
|
||
## 用途
|
||
|
||
本文件用於記錄「已實作的工程變更」,包含程式、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)。
|