The Unofficial Selection
KnpLabs is hiring
Symfony2 developers!

Infos

Keywords

admin generator yaml

Score evolution

Score details ( ? )

  • Github Followers: 190
  • Last 30 days activity: 2.4
  • README file size: 5
  • Uses Travis CI: 5
  • Travis CI build status: 5
  • Provides a composer package: 5
  • KnpBundles recommendations: 40

Latest commits

256

AdmingeneratorGeneratorBundle by cedriclombardot

Admingenerator for Symfony2, parse generator.yml files to build classes

Symfony2 Admin Generator: The Real Missing Admin Generator for Symfony2! project status# build status

This package is a Symfony2 Admin Generator based on YAML configuration and Twig templating. It's inspired by fzaninotto/Doctrine2ActiveRecord.

It actually supports:

  • Doctrine ORM
  • Doctine ODM
  • Propel

With almost the same features:

  • A YAML to configure create/edit/delete/list actions
  • Manage relations one to one, one to many, many to one and many to many
  • Easy edit of forms by changing properties of fields in YAML.
  • Configure fieldsets
  • Configure more that one field per line
  • Change the database column you want to sortOn or filterOn for a field in list
  • A complete admin design
  • Translated into EN, FR, RU, PT, ES, SL, DE , PL, UK(you can easily contribute to add your own)
  • Filters by form & by scopes combinable
  • Credentials for actions, columns, and form fields
  • ...

This bundle in pictures

Preview of list

Preview of edit

Want another skin?

Just install ActiveAdminTheme

Preview of ActiveAdminTheme

Want to run a test?

The fastest way to try it is to setup the AdmingeneratorIpsum project: https://github.com/cedriclombardot/AdmingeneratorIpsum. This is a complete Symfony2 application with this bundle well configured.

Installation

Install this bundle

git clone git://github.com/cedriclombardot/AdmingeneratorGeneratorBundle.git vendor/bundles/Admingenerator/GeneratorBundle

Or using deps file

[AdmingeneratorGeneratorBundle]
    git=git://github.com/cedriclombardot/AdmingeneratorGeneratorBundle.git
    target=/bundles/Admingenerator/GeneratorBundle
    version=origin/master

Register it in the autoload.php file:

<?php
// app/autoload.php

$loader->registerNamespaces(array(
    'Admingenerator'    => array(__DIR__.'/../src', __DIR__.'/../vendor/bundles'),
));

Add it to the AppKernel class:

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...

        // Admin Generator
        new Admingenerator\GeneratorBundle\AdmingeneratorGeneratorBundle(),
    );

    // ...
}

Install SensioGeneratorBundle

git submodule add git://github.com/sensio/SensioGeneratorBundle.git vendor/bundles/Sensio/Bundle/GeneratorBundle

Register it in the autoload.php file:

<?php
// app/autoload.php

$loader->registerNamespaces(array(
    'Sensio\Bundle'     => __DIR__.'/../vendor/bundles',
));

Add it to the AppKernel class:

$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(),

Install KnpMenuBundle

git submodule add https://github.com/knplabs/KnpMenuBundle.git vendor/bundles/Knp/Bundle/MenuBundle
git submodule add https://github.com/knplabs/KnpMenu.git vendor/KnpMenu

or using deps file

[MenuBundle]
    git=git://github.com/knplabs/KnpMenuBundle.git
    target=/bundles/Knp/Bundle/MenuBundle

[KnpMenu]
    git=git://github.com/knplabs/KnpMenu.git
    target=/KnpMenu

Register it in the autoload.php file:

<?php
// app/autoload.php

$loader->registerNamespaces(array(
    'Knp'        => __DIR__.'/../vendor/bundles',
    'Knp\Menu'     => __DIR__.'/../vendor/KnpMenu/src'
));

Add it to the AppKernel class:

$bundles[] = new Knp\Bundle\MenuBundle\KnpMenuBundle();

Don't forget to configure it to use twig in config.yml:

knp_menu:
    twig: true

Now two ways to continue the setup:

Manually, follow the end of readme, or automatically,

php app/console admin:setup

Install TwigGenerator

git submodule add http://github.com/cedriclombardot/TwigGenerator.git vendor/twig-generator

Register it in the autoload.php file:

<?php
// app/autoload.php

$loader->registerNamespaces(array(
    'TwigGenerator'         => __DIR__.'/../vendor/twig-generator/src',
));

Install Pagerfanta

git submodule add http://github.com/whiteoctober/Pagerfanta.git vendor/pagerfanta
git submodule add http://github.com/whiteoctober/WhiteOctoberPagerfantaBundle.git vendor/bundles/WhiteOctober/PagerfantaBundle

Register it in the autoload.php file:

<?php
// app/autoload.php

$loader->registerNamespaces(array(
    'WhiteOctober\PagerfantaBundle' => __DIR__.'/../vendor/bundles',
    'Pagerfanta'                     => __DIR__.'/../vendor/pagerfanta/src',
));

Add it to the AppKernel class:

$bundles[] = new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),

Configure JMS

In config.yml

jms_security_extra:
     expressions: true

Setup the Model Manager you want

At this step, you'll have to install the Model Manager you want (Doctrine ORM, Doctrine ODM and/or Propel). E.g. with Doctrine, you'll have to setup the Doctrine2FixtureBundle bundle.

Install Doctrine2FixtureBundle & Create the database

php app/console doctrine:database:create
php app/console doctrine:schema:create
php app/console doctrine:fixtures:load

Install Assetic (Optionnal see without assetic part)

git submodule add git://github.com/symfony/AsseticBundle.git vendor/bundles/Symfony/Bundle/AsseticBundle
git submodule add git://github.com/kriswallsmith/assetic.git vendor/assetic

Register it in the autoload.php file:

<?php
// app/autoload.php

$loader->registerNamespaces(array(
    'Assetic'           => __DIR__.'/../vendor/assetic/src',
));

Add it to the AppKernel class:

$bundles[] = new Symfony\Bundle\AsseticBundle\AsseticBundle(),

Configure the routing in app/config/routing.yml:

_assetic:
    resource: .
    type: assetic

To run assets you also need to install sass & compass:

sudo gem install compass # https://github.com/chriseppstein/compass
sudo gem install sass

Configure Assetic:

assetic:
    filters:
        cssrewrite: ~
        sass:
            bin: /var/lib/gems/1.8/gems/sass-3.1.7/bin/sass
            compass: /var/lib/gems/1.8/gems/compass-0.11.5/bin/compass

Without Assetic

Configure your config.yml to use the assetic less template

admingenerator_generator:
    base_admin_template: AdmingeneratorGeneratorBundle::base_admin_assetic_less.html.twig
admingenerator_user:
    login_template: AdmingeneratorGeneratorBundle::base_login_assetic_less.html.twig

With or without assetic

Publish assets:

php app/console assets:install web/

Last step

Configure the dev environment:

admingenerator_generator:
    overwrite_if_exists: true

And of course for prod:

php app/console -env prod cache:warmup

Need support?

https://groups.google.com/group/symfony2admingenerator

Sensio Connect

https://connect.sensiolabs.com/club/symfony2admingenerator


Note: The admin theme is from https://github.com/martinrusev/admin-theme

  • 2011-11-17 Cédric LOMBARDOT

    Are you logged in at github ? It's works for me !! FYI the documentation repo is here https://github.com/cedriclomba... if it's dont work open please open an issue, like that we will not make a bad comment list screen to try solving a github problem ;)

  • 2011-11-17 deepgreen

    Sure this is a great project and very worthy to give back to! I went to the documentation link "fork and edit" it pointed to this url https://github.com/cedriclomba...
    but returned a 404 error.
    If you could fix this or post the link, I will contribute.

  • 2011-11-14 Cédric LOMBARDOT

    @deepgreen if you see some missing into the doc. To help us, the community, I invite you to contribute to this documentation it's so easy, go in the bottom of the page and click fork and edit ;)

  • 2011-10-19 deepgreen

    The documentation is here:http://symfony2admingenerator....
    While not complete, I found it really easy to construct basic admin applications.

  • 2011-10-17 SalehSed

    How to use?
    admin:generate-admin
    and
    admin:generate-bundle

  • 2011-08-19 Someone

    Really nice CSS.