Comparing version 4 and version 3
h2. What is Shards? Shards is a Radiant extension that allows other extension developers to modify aspects of Radiant's default administration interface. It does this by deconstructing each view (in the Rails, MVC sense) into hierarchical component pieces called "regions". A developer may insert or remove view partials from these regions from an extension. This permits: * Adding new user interface elements * Customizing appearance using CSS * Customizing UI behavior with Javascript * Removing or replacing user interface elements h2. Basic usage Shards regions are accessible from the Radiant::AdminUI object, which is simply named "admin" inside an extension class. They are organized first by controller name, then by action name, and then by region. For example, if I wanted to add a partial called "tags" to the "form_bottom" region of the Page editing screen, in my extension's @activate@ method, I would do this:The @add@ method also allows you to insert partials in specific orders, i.e. before or after an existing partial. Examples:admin.page.edit.add :form_bottom, "tags"Alternatively, you may access a given region directly using a dot or bracket accessor. Regions are essentially arrays of partial names.admin.page.edit.add :main, "help_links", :before => "edit_header" admin.page.edit.add :form_area, "categories", :after => "edit_page_parts"h2. Regions structure Below is a tree of the current structure of regions partials in Shards. You may also discover this by reading the source of @shards_extension.rb@. It is listed by controller and action(s). Regions are in brackets. h3. Admin::PageController h4. #new, #edit (and #add_part) * [main] ** edit_header ** edit_form *** [form_top] *** [form] **** edit_title **** edit_extended_metadata (@meta) **** edit_page_parts ***** part ****** [part_controls] ***** [parts_bottom] ****** edit_layout_and_type ****** edit_timestamp *** [form_bottom] **** edit_buttons (@buttons_partials) ** edit_popups *** [popups] * edit_scripts_and_styles h4. #index (#children, and #remove) TODO h3. Admin::SnippetController h4. #new, #edit TODO h3. Admin::LayoutController h4. #new, #edit TODOadmin.page.edit.form_area admin.page.edit['form_area'] admin.page.edit[:form_area]
