درود فراوان
استاد بنده 29 تیر ماه سوالی پرسیدم ولی هنوز پاسخی دریافت نکردم - ممنون میشم راهنمایی بفرمایید:
"خواهشمند است در خصوص ساختار مدل گروه ویژگیهای محصول و ویژگیهای محصول و نحوه نمایش آنها در قسمت مدیریت و فروشگاه نیز توضیحاتی بفرمایید."
باسپاس فراوان
سلام دوست من
بابت این تاخیر عذرخواهی میکنم
گاها ایمیل پرسش سوال رو دریافت نمیکنم
سعی میکنیم این مورد رو هم در آموزش بررسی کنیم
سپاسگذارم از شما
درود فراوان
استاد بنده روش نمایش ویژگیهای محصول در سایت را به روش ساده ای در پایتون پیاده سازی کردم که کدها و نتیجش رو هم در پایان نمایش دادم - مشکلم فقط در پیاده سازی این قسمت سمت ادمین - چون روش دلخواه سازی کردن ادمین رو بلد نبودم - اون قسمتی که در فرم محصولات بشه ویژگی و مقدار را با هم در فرم نمایش داد و بتوان بر اساس مقادیری که برای ویژگی در قسمت ویژگیها تعریف شده است؛ مقادیر را به ویژگی محصول در قسمت ثبت محصول اختصاص داد - (مانند تعریف محصول در ووکامرس)
خواهشمند است جهت دلخواه سازی ادمین و همچین استفاده از ajax در فرمها توضیحاتی را بفرمایید
group_attributes = [
{'id': 100, 'name': 'مشخصات فنی'},
{'id': 101, 'name': 'مشخصات کلی'}
]
product = [
{'id': 100, 'name': 'محصول اول'},
{'id': 101, 'name': 'محصول دوم'},
{'id': 102, 'name': 'محصول سوم'},
{'id': 103, 'name': 'محصول چهارم'}
]
attributes = [
{'id': 100, 'name': 'وزن', 'group': 100},
{'id': 101, 'name': 'ابعاد', 'group': 100},
{'id': 102, 'name': 'رنگ', 'group': 101},
{'id': 103, 'name': 'گارانتی', 'group': 101},
]
attribute_values = [
{'id': 100, 'attrid': 100, 'name': '10 کیلو'},
{'id': 101, 'attrid': 100, 'name': '20 کیلو'},
{'id': 103, 'attrid': 101, 'name': 'عمق 50 سانتیمتر'},
{'id': 104, 'attrid': 101, 'name': 'عرص 90 سانتیمتر'},
{'id': 105, 'attrid': 101, 'name': 'ارتفاع 45 سانتیمتر'},
{'id': 106, 'attrid': 102, 'name': 'سفید'},
{'id': 107, 'attrid': 102, 'name': 'سیلور'},
{'id': 108, 'attrid': 102, 'name': 'مشکی'},
{'id': 109, 'attrid': 103, 'name': 'مادایران'}
]
product_attr = [
{'pid': 100, 'vid': 100},
{'pid': 100, 'vid': 101},
{'pid': 100, 'vid': 103},
{'pid': 100, 'vid': 104},
{'pid': 100, 'vid': 105},
{'pid': 100, 'vid': 106},
{'pid': 100, 'vid': 107},
{'pid': 100, 'vid': 109}
]
productV = list(map(lambda p: p['vid'], filter(lambda pv: pv['pid'] == 100, product_attr)))
print(productV)
attr_val = [[a['name'], a['group'], [v['name']
for v in attribute_values if a['id'] == v['attrid'] and v['id'] in productV]]
for a in attributes]
for i in sorted(group_attributes,key=lambda x:x['name'], reverse=True):
print(f".......{i['name']}........")
for ii in attr_val:
if i['id'] == ii[1]:
print(f"{ii[0]} : {','.join(ii[2])}")
#------------------- نتیجه ------
#.......مشخصات کلی........
#رنگ : سفید,سیلور
#گارانتی : مادایران
#.......مشخصات فنی........
#وزن : 10 کیلو,20 کیلو
#ابعاد : عمق 50 سانتیمتر,عرص 90 سانتیمتر,ارتفاع 45 سانتیمتر