我使用Satchmo在电子商务网站上工作。但是,我的商店需要很少的自定义。
有人可以帮助解决这个问题,并指导我如何使用Satchmo实现这一目标吗?
提前致谢..
答案 0 :(得分:0)
我会尝试这样的事情:
1)使用像“DeliveryDate”这样的模型创建本地应用程序(例如delivery_date)。例如localsite / delivery_date / models.py:
class DeliveryDate(models.Model):
product = models.ForeignKey(Product)
date = models.DateField()
order = models.ManyToManyField(Order)
class Meta:
unique_together = ("product", "date")
2)最多20个现有订单的验证......嗯,好的问题,也许是最好的,在表格上做?覆盖clean方法并检查此交付日期是否已与20个订单相关联......可能类似localsite / delivery_date / forms.py
class DeliveryDateForm(forms.ModelForm):
class Meta:
model = DeliveryDate
def clean(self):
super(DeliveryDateForm, self).clean()
... check here the order_set count
...但也许表格不是最好的地方。
您可能还想隐藏和自动设置产品的初始值并自行订购,而用户只能选择日期。
3)关于satchmo ...我会在产品添加到购物车后使用信号做出反应(只有这种情况有信号),并添加一个监听器,将用户重定向到他可以的视图选择此产品的日期。请在此处查看示例信号“cart_add_view”:http://www.facebook.com/note.php?note_id=101466134049
也许ajax在这里是个不错的选择。在您的页面中有一个隐藏的容器...在将产品添加到购物车后显示(仅当产品尚未与此订单/产品关联的DeliveryDate时),并要求用户选择日期。
整个内容将在听众身上:检查产品是否需要交付日期,如果是,则发送ajax响应以弹出窗口,并将初始产品放入repsonse-context表单中并订购隐藏的字段。
要保存交货日期,您需要另一个ajax-view。
嗯,这只是一个想法,我将如何尝试这样做;-)当然,它可能需要在这里和那里进行调整。但希望它能进一步帮助你。
此致 安德烈