ob / cms-bundle
Simple admin generator bundle for your Symfony project
Installs: 287
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 2
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=5.3.3
- knplabs/knp-paginator-bundle: ~2.4
- liuggio/excelbundle: ~2.0
- mopa/bootstrap-bundle: 3.x-dev
- symfony/symfony: ~2.3
- twbs/bootstrap: ~3.0
This package is not auto-updated.
Last update: 2020-01-12 16:27:16 UTC
README
What this bundle is not …
- Production ready
- An example of beautiful code or best practices
- A weapon against zombies
- A bundle for power users
###What it is …
- A simple way to manage entities without writing too much code
- A playground to become a better PHP dev
Features
- Add CRUD actions for an entity in a couple of php lines
- Row and multi-row actions, search, filters and pagination
- Clean and simple UI
What it does not
- Handle entity relations
- Dashboard widgets
- Security/Authentication
- Solve world hunger
Installation
-
Run
composer require ob/cms-bundle
-
Register the bundles in your
app/AppKernel.php
:
<?php ... public function registerBundles() { $bundles = array( ... new Ob\CmsBundle\ObCmsBundle(), new Mopa\Bundle\BootstrapBundle\MopaBootstrapBundle(), new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(), new Liuggio\ExcelBundle\LiuggioExcelBundle(), ... ); ...
- Add configuration for Mopa Bundle
# app/config/config.yml mopa_bootstrap: form: ~
- Last thing but not least is to import the routing
# app/config/routing.yml ob_cms: resource: "@ObCmsBundle/Resources/config/routing.yml" prefix: /the-admin-prefix-of-your-choice
Create an Admin class
To use the Cms, you must create an Admin class somewhere in your bundle. For complete list of options, dive in the Admin class code, it's pretty simple.
<?php namespace Ob\CmsDemoBundle\Admin; use Ob\CmsBundle\Admin\AbstractAdmin as Admin; class GuitarAdmin extends Admin { public function __construct() { $this->class = 'Ob\CmsDemoBundle\Entity\Guitar'; } public function listDisplay() { return array('name', 'brand', 'strings', 'price', 'online'); } public function formDisplay() { return array('name', 'brand', 'strings', 'price', 'online'); } }
And then register your new admin class as a tagged service. The alias
tag is used for the menu and the translation
prefix.
# Ob/CmsDemoBundle/Resources/services.yml services: ob_cms_demo.guitar.admin: class: Ob\CmsDemoBundle\Admin\GuitarAdmin tags: - { name: ob.cms.admin, alias: guitar }