Shards developers,

I'm about to make a major change to the Shards extension's API and I 
want a little feedback from those who are using it.  This is not a 
breaking change, per se, but a behavioral one.  Let me set it up for you.

Right now, the views (especially new/edit) for the Admin::PageController 
are broken into a bajillion little pieces so that we can have many 
points of insertion into the template.  This is great for flexibility, 
but results in a bunch of tiny files and the need to dig through them to 
find the proper region when you want to insert something.  I'd like to 
dramatically reduce the number of partials that ship with the extension.

The solution to this, which I have working, is to move the partials back 
into one (or a few) files and provide a way to specify defaults, but 
still allow overriding of the partials in the file system.  Here's an 
example of what I'm talking about.  Normally, when you render a region, 
a line like this exists in the template:

<%= render_region :my_region %>


Via the 'admin' object, you would populate this region with partial 
names, which would be rendered from the file system in the order 
specified.  If this region has default partials, as do the ones that 
come with Shards, they would instead be specified inline, where 
appropriate.  Let's say "my_region" has default partials of "profile" 
and "sidebar"; this is how you would specify them (notice the removal of 
the =):

<% render_region :my_region do |my| %>
  <% my.profile do %>
    <div id="profile">...</div>
  <% end %>
  <% my.sidebar do %>
    <div id="sidebar">...</div>
  <% end %>
<% end %>

This adds a bit of weight and noise to the templates, but significantly 
cuts down the number of partials.  Regions that don't have any default 
partials could still be rendered in the manner shown in the first 
example (with the =).  Let me know how you feel about this change.

Sean
_______________________________________________
Radiant mailing list
Post:   Radiant@lists.radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

Reply via email to