跳转到主要内容

为django SHOP提供简单易用的产品变体模块

项目描述

此应用旨在提供一种快速创建产品变体的方法,适用于大多数简单情况。

它将变体视为购物车修饰符中的 {label: value} 条目,因此非常适合不同价格的颜色或自建电脑等。

安装

此功能需要django SHOP工作(https://github.com/chrisglass/django-shop

  • 将应用添加到settings.py中的INSTALLED_APPS

  • shop_simplevariations.cart_modifier.ProductOptionsModifier添加到您的SHOP_CART_MODIFIERS设置中。

  • 在urls.py中添加以下内容(r’^shop/cart/’, include(simplevariations_urls)),在(r’^shop/’, include(shop_urls))之前。

您的urls.py应如下所示

from django.conf.urls.defaults import *
from django.contrib import admin

from shop import urls as shop_urls
from shop_simplevariations import urls as simplevariations_urls


admin.autodiscover()


urlpatterns = patterns('',
    (r'^admin/', include(admin.site.urls)),
    (r'^shop/cart/', include(simplevariations_urls)),
    (r'^shop/', include(shop_urls)),
)

用法

  • 在管理视图中创建一个选项组

  • 将其绑定到产品上

  • 向组中添加选项及其对应的价格。

  • CartItemOption对象与CartItem对象相关联时,选项的值将添加到购物项的价格中,并在购物车/订单中添加相应的额外字段。

  • 覆盖django-shop的product_detail.html模板,并添加选择元素,以便用户可以选择变体。

product_detail.html模板

shop附带的基本product_detail.html模板不考虑变体。

因此您需要覆盖模板。django-shop-simplevariations附带两个帮助创建下拉列表的模板标签,以便客户可以实际选择变体。

首先确保加载simplevariation模板标签

{% load simplevariation_tags %}
<h1>Product detail:</h1>
...

然后创建选项组和选项的下拉列表

<form method="post" action="{% url cart %}">{% csrf_token %}
{% with option_groups=object|get_option_groups %}
  {% if option_groups %}
    <div>
      <h2>Variations:</h2>
      {% for option_group in option_groups %}
        <label for="add_item_option_group_{{ option_group.id }}">{{ option_group.name }}</label>
        {% with option_group|get_options as options %}
          <select name="add_item_option_group_{{ option_group.id }}">
            {% for option in options %}
              <option value="{{ option.id }}">{{ option.name }}</option>
            {% endfor %}
          </select>
        {% endwith %}
      {% endfor %}
    </div>
  {% endif %}
{% endwith %}
{% with text_options=object.text_options.all %}
  {% if text_options %}
    <div>
      <h2>Text options:</h2>
      {% for text_option in text_options %}
        <label for="add_item_text_option_{{ text_option.id }}">{{ text_option.name }}</label>
        <input type="text" name="add_item_text_option_{{ text_option.id }}" value=""/>
      {% endfor %}
    </div>
  {% endif %}
{% endwith %}
<input type="hidden" name="add_item_id" value="{{object.id}}">
<input type="hidden" name="add_item_quantity" value="1">
<input type="submit" value="Add to cart">
</form>

贡献

请随意在github上分叉此项目,发送pull请求……开发讨论在django SHOP邮件列表(django-shop@googlegroups.com)上进行。

项目细节


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

django-shop-simplevariations-0.0.4.tar.gz (13.0 kB 查看哈希值)

上传时间 源代码

由以下支持