c975l/giftvoucher-bundle

此包已被废弃且不再维护。未建议替代包。

管理礼品券、其支付和交易捆绑包


README

GiftVoucherBundle 执行以下操作

  • 允许创建礼品券请求表单
  • 通过 c975LPaymentBundle 与 Stripe 进行接口,以进行其支付
  • 创建礼品券的 PDF 并通过电子邮件发送
  • 使用 QrCodeBundle 创建二维码
  • 允许通过二维码使用礼品券并进行后续验证
  • c975LToolbarBundle 集成
  • PDF 和二维码不会存储,而是实时创建
  • 将销售条款作为 PDF 添加到电子邮件中

安全性由一个四字母的秘密代码提供,该代码包含在二维码中,但不包含在显示的礼品券标识符中

此包依赖于使用 c975LPaymentBundleStripe 及其 PHP 库。**因此您必须拥有 Stripe 账户**。

还建议使用 SSL 证书来确保用户。

由于销售条款必须与礼品券一起发送给用户,您必须提供 PDF 文件的路由或 URL。如果没有此类路由,可以考虑使用 c975LSiteBundle 的预定义模型以及 c975LPageEditBundle 的创建 PDF 功能。

您还可以通过使用 Select2 选择礼品券来提供更好的用户体验。只需将其包含到布局中即可

    {# jQuery has to be linked before #}
    {# In your css block #}
    {{ inc_lib('select2', 'css', '4.*') }}
    {# In your javascript block #}
    {{ inc_lib('select2', 'js', '4.*') }}

GiftVoucherBundle 专用网页.

GiftVoucherBundle API 文档.

包安装

步骤 1:下载包

v3.x 与 Symfony 4.x 兼容。**使用 v2.x 用于 Symfony 3.x** 使用 Composer 安装库

    composer require c975l/giftvoucher-bundle

步骤 2:配置包

检查依赖项的配置

c975LGiftVoucherBundle 使用 c975L/ConfigBundle 管理配置参数。使用 "/gift-voucher/config" 路由以及适当的用户角色来修改它们。

步骤 3:启用路由

然后,通过将它们添加到项目的 /config/routes.yaml 文件中来启用路由

c975_l_giftvoucher:
    resource: "@c975LGiftVoucherBundle/Controller/"
    type: annotation
    prefix: /
    #Multilingual website use the following
    #prefix: /{_locale}
    #defaults:   { _locale: '%locale%' }
    #requirements:
    #    _locale: en|fr|es

第4步:创建MySQL表

您可以使用php bin/console make:migration根据Symfony的Doctrine文档创建迁移文件,或者使用/Resources/sql/gift-voucher.sql来创建表gift_voucher_availablegift_voucher_purchased。已注释DROP TABLE以避免意外删除。

第5步:覆盖模板

强烈建议使用从第三方包覆盖模板的功能以完全与您的网站集成。

为此,只需在您的应用程序中创建以下结构/templates/bundles/c975LGiftVoucherBundle/,然后复制文件layout.html.twig到其中,以覆盖现有的Bundle文件。

layout.html.twig中,它将主要扩展您的布局并定义特定变量,例如

{% extends 'layout.html.twig' %}

{% block content %}
    {% block giftVoucher_content %}
    {% endblock %}
{% endblock %}```

然后在您的layout.html.twig及其依赖项,如header.html.twigfooter.html.twignavbar.html.twig等中,您可以使用条件if display == 'pdf'if display == 'html'来选择要显示给哪种格式,并保持所有数据在一个地方。

请注意,链接必须是绝对路径,或者其内容已包含,才能导出(见下文)。

路由

可用的不同路由(命名自解释)如下:

  • giftvoucher_display
  • giftvoucher_config
  • giftvoucher_create
  • giftvoucher_modify
  • giftvoucher_duplicate
  • giftvoucher_delete
  • giftvoucher_dashboard
  • giftvoucher_purchased
  • giftvoucher_offer
  • giftvoucher_offer_all
  • giftvoucher_use
  • giftvoucher_slug
  • giftvoucher_help
  • giftvoucher_qrcode

您应使用路由giftvoucher_offer_all作为礼品券的入口点。

Twig扩展

您可以使用以下Twig扩展在您的网站上显示礼品券。

gv_offer_button()

此扩展的使用有多种方式

{{ gv_offer_button(GIFTVOUCHER_AVAILABLE_ID) }}将显示具有默认样式的按钮{{ gv_offer_button(GIFTVOUCHER_AVAILABLE_ID, 'btn-primary') }}将显示具有指定样式的按钮{{ gv_offer_button(GIFTVOUCHER_AVAILABLE_ID, 'WHATEVER_STYLE_YOU_HAVE_DEFINED_IN_CSS') }}将使用您自己的样式显示按钮

这些代码和其他变体在为管理员用户显示礼品券时被调用。

gv_offer_link()

您将使用此Twig扩展来显示提供礼品券的链接

{{ gv_offer_link(GIFTVOUCHER_AVAILABLE_ID) }}将显示一个链接

此代码在为管理员用户显示礼品券时被调用。

gv_view_all()

此Twig扩展将创建您的礼品券视图。它在Resources/views/pages/offerAll.html.twig模板中使用,由路由giftvoucher_offer_all使用。

{{ gv_view_all() }}将创建包含所有可用礼品券的视图{{ gv_view_all(NUMBER_OF_GIFTVOUCHERS_TO_DISPLAY) }}将创建包含指定数量的可用礼品券的视图{{ gv_view_all(NUMBER_OF_GIFTVOUCHERS_TO_DISPLAY, ORDERED_FIELD) }}将创建包含指定数量的可用礼品券的视图,按指定字段排序。此字段的值是数据库表gift_voucher_available的值。您通常会使用idobject(默认值)、slugamount

如果这个项目能帮助您缩短开发时间,您可以通过顶部页面的“赞助”按钮来赞助我 :)