结账
项目描述
为
安装
此软件包是
自定义结账表单
要自定义结账表单,您通常从具有自定义provider_registry的自己的表单开始。
您将使用您满意的FieldsProvider对象,并替换需要适配的对象。
在此示例中,我们将向PersonalData提供者添加一个额外的字段uid,并重用其他字段
from zope.i18nmessageid import MessageFactory
from bda.plone.checkout.browser import form as coform
_ = MessageFactory('my.package')
my_provider_registry = coform.ProviderRegistry()
class MyPersonalData(coform.PersonalData):
fields_template = 'my.package.shop:forms/personal_data.yaml'
message_factory = _
my_provider_registry.add(coform.CartSummary)
my_provider_registry.add(MyPersonalData)
my_provider_registry.add(coform.BillingAddress)
my_provider_registry.add(coform.DeliveryAddress)
my_provider_registry.add(coform.ShippingSelection)
my_provider_registry.add(coform.PaymentSelection)
my_provider_registry.add(coform.OrderComment)
my_provider_registry.add(coform.AcceptTermsAndConditions)
class MyCheckoutForm(coform.CheckoutForm):
"""Customized checkout form to add UID field for company.
"""
provider_registry = my_provider_registry
将bda/plone/checkout/browser/forms/personal_data.yaml复制到my/package/shop/forms/personal_data.yaml并做出您的更改。
此软件包使用另一个表单小部件库 (YAFOWIL) 来渲染结账表单。
我们将在“个人信息”部分的末尾添加一个新字段uid
- company:
factory: "#field:text"
value: context.get_value
props:
label: i18n:label_company:Company
display_proxy: True
mode: expr:context.mode
- uid:
factory: "#field:text"
value: context.get_value
props:
label: i18n:label_companyuid:UID Number
display_proxy: True
mode: expr:context.mode
(注意:在yaml文件中无法混合i18n域,因此最好将您的翻译添加到包的本地化目录中的单独的bda.plone.checkout.po文件中)
现在通过覆盖浏览器页面为您的browserlayer或skinlayer注册您自定义的表单
<browser:page
for="*"
name="checkoutform"
class=".checkout.MyCheckoutForm"
permission="zope2.View"
layer=".browser.interfaces.IThemeSpecific" />
权限
bda.plone.checkout.PerformCheckout
此权限控制用户是否可以实际执行结账过程。与结账相关的视图绑定到此权限,因此,没有授予此权限的访客将被重定向到登录/注册表单。
默认情况下,此权限已设置为角色
管理员
网站管理员
客户
为了启用非客户或匿名用户执行结账,根据需要编辑集成包中的rolemap.xml。
创建翻译
$ cd src/bda/plone/checkout/ $ ./i18n.sh
贡献者
Robert Niederreiter(作者)
Peter Holzer
Harald Friessnegger
更改日志
2.0b1(2024-04-17)
重写CSS资源为SCSS [petschki]
引入checkout_button_factories和confirmation_button_factories。 [rnix, jensens]
在结账表单中考虑IPayment.clear_session。 [rnix]
结账结束时通过表单提交来激活plone.protect CSRF验证器。 [jensens]
不再支持z3c.autoinclude。 [jensens]
购物车上更多CSS类。 [jensens]
反映购物车/运输的最新更改。 [jensens]
代码风格黑色。isort. [jensens]
更新版本和分类器 - 2.x针对Plone 5.1/5.2,不使用Archetypes [agitator]
1.0a1(未发布)
使用ENABLED_COUNTRIES的排序顺序 [agitator]
用untittest替换unittest2 [llisa123]
在购物车概览中显示购物车项目折扣。 [rnix]
引入bda.plone.checkout: Perform Checkout权限并将与结账相关的视图绑定到它。 [rnix]
为Plone 5添加data-context-url,以进行合理的cartData和validate_cart_item调用。 [agitator]
Plone 5更新。 [rnix, agitator]
0.5
JSHint JavaScript。 [thet]
0.4
始终为购物车概览提供运输标记。显示由购物车JS控制。 [rnix]
在ShippingSelection字段提供者上实现skip属性,如果没有购物车项目是可运输的,则跳过运输选择。 [rnix]
在bda.plone.checkout.browser.form.CheckoutForm中用bda.plone.checkout.interfaces.ICheckoutSettings适配器代替self来处理skip_payment和skip_payment_redirect_url。 [rnix]
从bda.plone.checkout.interfaces.ICheckoutAdapter接口中删除skip_payment和skip_payment_redirect_url属性。它们现在作为接受数据uid的函数存在于bda.plone.checkout.interfaces.ICheckoutSettings中。 [rnix]
引入bda.plone.checkout.interfaces.ICheckoutSettings接口。 [rnix]
在PaymentSelection字段提供者上实现skip属性,如果总购物车价格为0,则跳过支付选择。 [rnix]
添加bda.plone.checkout.interfaces.IFieldsProvider.skip属性。 [rnix]
采用bda.plone.shipping>=0.4的运输处理。 [rnix]
在结账表单中考虑来自cookie的运输方法。 [rnix]
不要依赖于acquisition和基本链接来在导航根中显示<terms and conditions>。(path/to/navroot/<ID>)
<ID>可通过修补bda.plone.checkout.browser.form.TERMS_AND_CONDITONS_ID进行配置 [fRiSi]
0.3
注册pycountry翻译并使用它们。 [rnix]
采用结账摘要以考虑货币和折扣。 [rnix]
结账表单中“接受条款”的标题。这使该按钮在视觉上与其他按钮区分开来。[thet]
使用ICheckoutFormPresets适配器预填充结账表单的默认值。[thet]
修复BrowserLayer优先级顺序。[thet]
引入bda.plone.checkout.ICheckoutFormPresets。[rnix]
0.2
在bda.plone.checkout.ICheckoutAdapter上引入skip_payment和skip_payment_redirect_url,并在bda.plone.checkout.browser.form.CheckoutForm中考虑。[rnix]
0.1
初步工作 [rnix]
许可证
版权所有(c)2012-2019,奥地利BlueDynamics Alliance。保留所有权利。
在满足以下条件的情况下,允许重新分发和使用源代码和二进制形式,无论是否修改:
源代码重新分发必须保留上述版权声明、本条件列表和以下免责声明。
二进制形式的重新分发必须在使用重新分发提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
未经BlueDynamics Alliance事先书面许可,不得使用BlueDynamics Alliance的名称或其贡献者的名称来认可或推广从本软件派生的产品。
本软件由BlueDynamics Alliance“按原样”提供,并且任何明确或隐含的保证,包括但不限于适销性和针对特定目的的适用性保证均被排除。在任何情况下,BlueDynamics Alliance均不对因使用本软件而产生的任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,即使已被告知此类损害的可能性,也不受责任。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
bda.plone.checkout-2.0b1.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4421c2c6f29661a9faa3dc11663ec4f5c1b73093726991003fbe4bf92306ce42 |
|
MD5 | 10cc8abbac66be9b90f7572b3d364bd2 |
|
BLAKE2b-256 | 380e5a9b43d7aa420044334f1973acdaa1ddeff40424779ec12bb8a61ac9ddae |
bda.plone.checkout-2.0b1-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3d5b9dd22d282f1fc4749e02b9a990904fdfb8b717316dea7304b0f0ec55fc1e |
|
MD5 | 533845881c9ac51cdad82576882eb2c0 |
|
BLAKE2b-256 | a39a58ba12584361d65fa5cb4495ae2435b9f4353c8396c868de6a22b9c082dc |