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