whyte624 / sonata-admin-extra-export-bundle
Sonata Admin extra export formats (pdf, jpg)
Installs: 2 315
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 1
Forks: 7
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.4.0
- knplabs/knp-snappy-bundle: >=1.3
- sonata-project/admin-bundle: >=2.3
This package is not auto-updated.
Last update: 2025-05-10 20:26:12 UTC
README
[SonataAdminExtraExportBundle][sonata-admin-extra-export-bundle] is a PHP (5.4+) extension for Sonata Admin. By default Sonata Admin has json, xml, csv and xls export formats.
The SonataAdminExtraExportBundle provides a simple integration for your Symfony project with Sonata Admin and adds support of:
- pdf (requires KnpSnappyBundle)
- jpg (requires KnpSnappyBundle)
Installation
With composer, add:
{ "require": { "whyte624/sonata-admin-extra-export-bundle": "dev-master" } }
Then enable it in your kernel:
// app/AppKernel.php public function registerBundles() { $bundles = array( //... new Whyte624\SonataAdminExtraExportBundle\Whyte624SonataAdminExtraExportBundle(), new Knp\Bundle\SnappyBundle\KnpSnappyBundle(), //...
Configuration
Configure KnpSnappyBundle.
[SonataAdminExtraExportBundle][sonata-admin-extra-export-bundle] requires you to add traits with export formats to Admin class and extension of export method to CRUDController class.
Add trait to Admin class:
//src/Acme/AcmeBundle/Admin/MyAdmin.php use Sonata\AdminBundle\Admin\Admin; use Whyte624\SonataAdminExtraExportBundle\Admin\AdminExtraExportTrait; class MyAdmin extends Admin { //... use AdminExtraExportTrait; //...
Add trait to CRUDController class
//src/Acme/AcmeBundle/Controller/MyCRUDController.php use Sonata\AdminBundle\Controller\CRUDController; use Whyte624\SonataAdminExtraExportBundle\Controller\CRUDControllerExtraExportTrait; class MyCRUDController extends CRUDController { //... use CRUDControllerExtraExportTrait; //...
This will add extra export formats to your admin.
Pdf layout
You can easily add your companies logo to PDF export, by overriding Whyte624SonataAdminExtraExportBundle::html_layout.html.twig. Just make sure, that paths for images and css that you are using are absolute.
Override getPdfOptions class in your CRUDController class to change orientation to landscape.