Asked Jul 7th, 2:34 PM 123 1 6
  • 123 1 6
+1

Xin demo về Laravel Product Variants

Share
  • 123 1 6

Em đang thiết kế 1 trang thương mại điện tử bằng Laravel, nhưng đang bị bí ở phần thiết kế các thuộc tính của sản phẩm (Size, Color, Bộ nhớ, ...) mỗi cái lại có 1 giá tiền khác nhau. Bên thegioididong họ làm kiểu gì mà mỗi thuộc tính như Bộ nhớ 64gb, 128gb lại có 1 giá tiền khác nhau và link khác nhau vậy các bác?? Link demo: https://www.thegioididong.com/dtdd/iphone-11-pro-max

**Em mới tìm đc cái package này trên laravel nhưng làm đến bước thêm attribute rồi, em ko biết là làm thế nào để thêm đc value cho attribute đó nữa. Bác nào từng dùng qua cái package này rồi thì giúp em với https://github.com/rinvex/laravel-attributes

Nghiem Tuan @TuanLinhChi
Jul 7th, 2:53 PM
Jul 12th, 3:43 PM

Em mới tìm đc cái package này trên laravel nhưng làm đến bước thêm attribute rồi, em ko biết là làm thế nào để thêm đc value cho attribute đó nữa. Bác nào từng dùng qua cái package này rồi thì giúp em với https://github.com/rinvex/laravel-attributes

0
| Reply
Share

6 ANSWERS


Answered Jul 7th, 2:52 PM
+2

Bạn có thể tạo 1 bảng là product để lưu thông tin chung của sản phẩm như name, description.... và 1 bảng detail_product để lưu các thông tin riêng khác nhau như ram, price, quantity, size, color. =>> khi đó thì 1 product nhưng có nhiều detail product khác nhau, như product iphoneX thì có iphoneX vàng 64g, X đen 120g...

Share
Answered Jul 8th, 4:18 AM
+2

Thử làm theo kiểu EAV như wordpress đó Screenshot from 2020-07-08 11-18-35.png

Share
Jul 8th, 4:20 AM

cái này chưa đủ cả, nhưng ý tưởng là thế nhé, sku chính là variant, được xác định bởi các custom attribute, post là sản phẩm chính.

0
| Reply
Share
Answered Jul 7th, 2:57 PM
+1

Không biết trang của bạn giá phụ thuộc vào thuộc tính nào của sản phẩm. Theo như sản phẩm điện thoại của thegioididong thì giá của sản phẩm phụ thuộc vào dung lượng của bộ nhớ thì bạn có thể tách 1 bảng dung lượng riêng liên kết tới sản phẩm, mỗi dung lượng 1 giá là dc thôi.

-product_sizes (- id - product_id - size - price -)

-products (- id - name - ........ -)

Share
Answered Jul 7th, 3:12 PM
+1

Bạn có thể tham khảo table structure của plugin Woocommerce của Wordpress, nó khá nổi trong việc xây dựng website bán hàng. https://github.com/woocommerce/woocommerce/wiki/Database-Description

Share
Answered Jul 8th, 12:59 AM
0

Theo mình thì bạn có thể có 2 lựa chọn:

  • Bạn có thể lưu thuốc tính và gía vào 1 cột trong bảng products, kiểu dữ liệu sẽ là json
  • Bạn có thể tạo 1 bảng thuộc tính riêng (attributes) và 1 bảng liên kết giữa sp và thuộc tính (product_attribute). Ở bảng trung gian đó bạn có thể lưu giá của sp tương đương với thuộc tính đó
Share
Answered Jul 8th, 5:57 AM
0

Tham khảo sapo, haravan.

Định hướng: bảng products one to many product_variants.

product_variants:

  • Phương án 1: cột attributes lưu json về màu, loại, kích thước...
  • Phương án 2: 3 cột option_name_1, option_name_2, option_name_3, option_value_1, option_value_2, option_value_3, sản phẩn tối đa 3 thuộc tính, tương đương tên và giá trị, cách này giải quyết vấn đề filter

Vấn đề search: Dùng elaticsearch

Share