Download the PHP package c975l/gift-voucher-bundle without Composer
On this page you can find all versions of the php package c975l/gift-voucher-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package gift-voucher-bundle
GiftVoucherBundle
GiftVoucherBundle does the following:
- Allows to create Gift Voucher request form,
- Interfaces with Stripe via c975LPaymentBundle for its payment,
- Creates a PDF of the GiftVoucher and sends it by email,
- Creates a QR Code using QrCodeBundle,
- Allows to use the GiftVoucher via a QrCode plus validation aftewards,
- Integrates with c975LToolbarBundle,
- PDF and Qrcode are NOT stored but created on the fly,
- Joins your Terms of sales as PDF to the email,
The security is provided by a four-letter secret code, included in the QrCode, but not in the displayed Gift-Voucher identifier.
This Bundle relies on the use of c975LPaymentBundle, Stripe and its PHP Library. So you MUST have a Stripe account.
It also recomended to use this with a SSL certificat to reassure the user.
As the Terms of sales MUST be sent to the user with the Gift-Voucher, you MUST provide a Route or url for this PDF file. If you don't have such, you may consider using c975LSiteBundle for its pre-defined models and c975LPageEditBundle for its ability to create a PDF.
You can also give a better user's experience by using Select2 for the selection of GiftVoucher. Simply include it to your layout using
GiftVoucherBundle dedicated web page.
GiftVoucherBundle API documentation.
Bundle installation
Step 1: Download the Bundle
v3.x works with Symfony 4.x. Use v2.x for Symfony 3.x Use Composer to install the library
Step 2: Configure the Bundle
Check dependencies for their configuration:
- Symfony Mailer
- Doctrine
- KnpPaginatorBundle
- KnpTimeBundle
- QrCodeBundle
- Stripe PHP Library.
- c975LEmailBundle
- c975LPaymentBundle
c975LGiftVoucherBundle uses c975L/ConfigBundle to manage configuration parameters. Use the Route "/gift-voucher/config" with the proper user role to modify them.
Step 3: Enable the Routes
Then, enable the routes by adding them to the /config/routes.yaml
file of your project:
Step 4: Create MySql tables
You can use php bin/console make:migration
to create the migration file as documented in Symfony's Doctrine docs OR use /Resources/sql/gift-voucher.sql
to create the tables gift_voucher_available
and gift_voucher_purchased
. The DROP TABLE
are commented to avoid dropping by mistake.
Step 5: Override templates
It is strongly recommended to use the Override Templates from Third-Party Bundles feature to integrate fully with your site.
For this, simply, create the following structure /templates/bundles/c975LGiftVoucherBundle/
in your app and then duplicate the file layout.html.twig
in it, to override the existing Bundle file.
In layout.html.twig
, it will mainly consist to extend your layout and define specific variables, i.e. :
Then in your `layout.html.twig` and its dependencies, such as `header.html.twig`, `footer.html.twig`, `navbar.html.twig`, etc. you can use the condition `if display == 'pdf'` or `if display == 'html'` to choose what to display to which format, and you keep all your data in one place.
**Keep in mind that links have to be absolute, or their content included, to be exported (see below).**
### Routes
The different Routes (naming self-explanatory) available are:
- 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
**You should use Route `giftvoucher_offer_all` as an entry point to your Gift-Vouchers.**
### Twig extensions
You can use the following Twig extensions to display Gift-Vouchers around your web site.
### `gv_offer_button()`
There are different ways to use this extension:
`{{ gv_offer_button(GIFTVOUCHER_AVAILABLE_ID) }}` will display a button with defaults styles
`{{ gv_offer_button(GIFTVOUCHER_AVAILABLE_ID, 'btn-primary') }}` will display a button with specified styles
`{{ gv_offer_button(GIFTVOUCHER_AVAILABLE_ID, 'WHATEVER_STYLE_YOU_HAVE_DEFINED_IN_CSS') }}` will display a button using your own styles
These codes, and other variants, are recalled on the display of Gift-Voucher for Admin users.
### `gv_offer_link()`
You will use this Twig extension to display a link to ofeer the Gift-Voucher
`{{ gv_offer_link(GIFTVOUCHER_AVAILABLE_ID) }}` will display a link
This code is recalled on the display of Gift-Voucher for Admin users.
### `gv_view_all()`
This Twig extension will create a view of your Gift-Vouchers. It is used on `Resources/views/pages/offerAll.html.twig` template, used by Route `giftvoucher_offer_all`.
`{{ gv_view_all() }}` will create the view with all your available Gift-Vouchers
`{{ gv_view_all(NUMBER_OF_GIFTVOUCHERS_TO_DISPLAY) }}` will create the view with the specified number of your available Gift-Vouchers
`{{ gv_view_all(NUMBER_OF_GIFTVOUCHERS_TO_DISPLAY, ORDERED_FIELD) }}` will create the view with the specified number of your available Gift-Vouchers, ordered by the specified field. Values for this field are the ones of the Database Table `gift_voucher_available`. You will mostly use `id`, `object` (default one), `slug`, `amount`.
If this project **help you to reduce time to develop**, you can sponsor me via the "Sponsor" button at the top :)
All versions of gift-voucher-bundle with dependencies
c975l/config-bundle Version ^2
c975l/email-bundle Version ^3
c975l/includelibrary-bundle Version ^1
c975l/payment-bundle Version ^3
c975l/services-bundle Version ^1
c975l/toolbar-bundle Version ^1
cocur/slugify Version ^3
doctrine/doctrine-bundle Version ^2
doctrine/orm Version ^2
endroid/qr-code Version ^3
h4cc/wkhtmltopdf-amd64 Version ^0
knplabs/knp-paginator-bundle Version ^4
knplabs/knp-snappy-bundle Version ^1
knplabs/knp-time-bundle Version ^1
symfony/form Version *
symfony/security Version *
twig/twig Version ^2