Mesusjk
3 سال پیش توسط Mesusjk مطرح شد
2 پاسخ

روش ایجاد متغیرهای محصول

سلام دوستان. وقتتون بخیر. من یه django کارم اما سوالی که دارم بین خیلی از بک اند کارا مشترکه چون شما دوستان بیشتر لاراول کارید.
دارم روی یه وبسایت فروشگاهی کار میکنم و میخوام برای محصولاتم یه سری متغیر مثل رنگ، سایز و... درنظر بگیرم. بطوریکه قیمت محصول با این متغیرها تغییر کنه. مثلا اگه محصول موردنظر یه کفش باشه، اینطور چیزی باید پیاده سازی بشه:
قیمت محصول با رنگ آبی + سایز M برابره با 230000 تومن
قیمت محصول با رنگ مشکی + سایز S برابره با 220000 تومن
باتوجه به تجربه ای که شما دوستان دارید، بهترین راه برای پیاده سازی این کار چیه؟


ثبت پرسش جدید
محمد
تخصص : Laravel
@mprogrammer7 3 سال پیش مطرح شد
0

سلام
بنظر من یک جدول درست کن ویژگی های محصول attributes .
در یک جدول دیگه مشخص کن هر محصول چه ویژگی هایی داره product_attributes و مقدارشون ثبت بشه ,
بعد فیلد قیمت رو داخل جدول محصولات نزار یک جدول درست کن product_price بعد id جدول product_attributes ثبت کن و قیمتش

  1. id
  2. product_id کلید خارجی با product
  3. product_attribute_id کلید خارجی با product_attributes
  4. price

@Mesusjk


مهران مرندی
تخصص : برنامه نویس
@mehranmarandi 3 سال پیش آپدیت شد
0

حتما این کار رو میشه از راه های زیادی انجام داد.
یک نمونه کاری هست که در woocommerce وردپرس پیاده سازی شد
در woocommerce وقتی شما مشخص میکنید که یه محصول مثلا بر اساس 3 تا رنگ و در 3 سایز مختلف، قیمت های متفاوتی داره، در دیتابیس و در تیبل محصولات (همون تیبل posts) 9 رکورد ایجاد میکنه از نوع product-variation و برای هرکدوم از شما قیمت، موجودی، تصویر و... میگیره
اینجوری وقتی محصول رو نشون میده Variation های اون هم نمایش داده میشه و کاربر میتونه از بین این 9 مدل یکی رو انتخاب کنه، این کار 95% موارد جوابگو نیاز کاربر هست، چون عموما فقط بر اساس یک attribute قیمت گذاری انجام میشه، ولی اگر شما بیش از یک Attribute داشته باشید تعداد حالت ها بصورت نمایی زیاد میشه و کار برای مدیر سایت سخت میشه
راه دیگه اینه که شما یک table واسطه بین محصول و ویژگی ها داشته باشید و برای هر کدوم مقدار تفاوت با قیمت پایه رو مشخص کنید
مثلا رنگ آبی 0، رنگ قرمز +2000 رنگ زرد -2000
برای سایز هم همینطور این حالت محدودیت هایی داره، مثلا نمیتونید موجودی هر رنگ و سایز رو جداگانه مشخص کنید ولی مدیریت ساده تری داره و در این حالت شما میتونید قیمت نهایی مشتری رو بر اساس انتخاب های اون بر مبنای قیمت پایه که داخل خود product ذخیره شده بسازید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام