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