# twAdminPlugin based on sfAdminDashPlugin ##Overview I had to create nice backend for my Thunderwolf Project and here is result. This plugin is based on sfAdminDashPlugin created by Kevin Bond. Like him I had to create a menu to access all the various modules. This plugin automates the process by using a configuration files. ###Optional Requirements: [twCorePlugin](http://www.symfony-project.org/plugins/twCorePlugin) Base plugin for all Thunderwolf Plugins [sfGuardPlugin](http://www.symfony-project.org/plugins/sfGuardPlugin) The Best plugin for authentication ##How to use ###Step 1 - install plugin Install the plugin, clear the cache and activate the twDefault and twAdmin module in the application's *settings.yml*. enabled_modules: [default, twDefault, twAdmin] ###Step 2 - setup theme Publish the plugin's assets: plugin:publish-assets If the modules are admin generator modules, deactivate the default admin generator theme in each module's *generator.yml* by creating a css property. You can either point the css property to a real stylesheet or just use a placeholder. generator: class: sfPropelGenerator param: model_class: Article theme: thunderwolf non_verbose_templates: true with_show: false singular: ~ plural: ~ route_prefix: article with_propel_route: 1 css: nothing #setting the css to a placeholder config: actions: ~ fields: ~ list: ~ filter: ~ form: ~ edit: ~ new: ~ Add the plugin's header and footer partials to your applications global layout: <body> <div id="wrapper"> <?php include_component('twAdmin', 'top') ?> <?php include_component('twAdmin', 'menu') ?> <div id="layout-content" class="layout-row"> <div class="layout-box"> <?php echo $sf_content ?> </div> <!-- .layout-box --> </div> <!-- #layout-content --> <?php include_partial('twAdmin/bottom') ?> </div> <!-- #wrapper --> </body> ###Step 3 (optional) - setup sfGuardPlugin Copy files from twAdminPlugin/data/skeleton/apps/backend/modules to your app modules. ###Step 4 (optional) - setup the Thunderwolf Admin homepage Set your application's *homepage* in your application's *routing.yml* to: homepage: url: / param: { module: twAdmin, action: index } ###Step 5 - configure global plugin configuration The plugin's *app.yml* file looks like the following: all: tw_admin: web_dir: /twAdminPlugin image_dir: /twAdminPlugin/images/ default_image: logo.png resize_mode: thumbnail site: My Site site_start_year: 2009 include_path: true include_jquery_no_conflict: false logout: true login_route: @sf_guard_signin logout_route: @sf_guard_signout * web_dir - Where the plugin's default css/javascript/images are kept. * image_dir - Where your images for Thunderwolf Admin are kept - images should be 48x48. * default_image - The default item image if none is specified - this must be in the *image_dir* folder. * resize_mode - How the image will be resized for the menu items. * thumbnail - Looks for a directory inside *image_dir* called *small* for an image with the same - it should be 16x16. * html - Resizes the image with the html *img* tag width/height attributes. * site - What you would like the site name to be (shows up in the *path bar* as a link). * site_start_year - Year when site was started (for copyright in the *path bar* * include_path - Whether to generate path "breadcrumbs". Those are meant mainly for the admin generator. * include_jquery_no_conflict - In case you are using another JS framework in you website, you should set this to true. It will prevent jQuery from interfering. * logout - Whether a logout link will be shown. * login_route - The route to the login action, defaults to the sfGuardPlugin's. * logout_route - The route to the logout action, defaults to the sfGuardPlugin's. You can override these settings as you see fit. ###Step 6 - configure the Thunderwolf Menu items [TODO]...Works different from oryginal plugin...[TODO]