This is cool. Seeing as how I'm struggling through creating my first sidebar, any chance someone more in the know can update components\sidebars\README with updated details on how to create a sidebar?
Kyle Heon [EMAIL PROTECTED] www.kyleheon.com -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Piers Cawley Sent: Sunday, April 16, 2006 2:38 PM To: [email protected] Subject: [typo] New style Sidebar API Right, I've just made my last big batch of changes in the sidebar subsystem for a while (modulo any bug fixes that crop up as a result of this) and thought I'd better give you the heads up on them. First of all, and I can't stress this enough, if your sidebar's configure.rhtml looks anything like this: <%= form_tag ... %> <!-- Buncha inputs and labels --> <%= end_form_tag %> <%= observe_form ... %> then you MUST at least get rid of the form_tag and observe_form parts of it. Nested forms break browsers. Ahem. You might prefer to get rid of your configure.rhtml altogether though. Here's archives_controller.rb before the API changes class Plugins::Sidebars::ArchivesController < Sidebars::ComponentPlugin def self.display_name "Archives" end def self.description 'Displays links to monthly archives' end def self.default_config {'count' => 10, 'show_count' => true} end def content ... end def configure end end And here it is after: class Plugins::Sidebars::ArchivesController < Sidebars::ComponentPlugin display_name 'Archives' description 'Displays links to monthly archives' setting :show_count => true, :label => 'Show article counts', :input_type => :checkbox setting :count, 10, :label => 'Number of Months' def content ... end end Actually, I lied, it doesn't have a 'display_name' declaration because Sidebars::ComponentPlugin does a much better job of working out the default display name. And here's its configure.rhtml after the changes: <!-- this space intentionally left blank --> That's right, it doesn't actually have one because the setting declarations give enough information for us to build the configuration div automatically. There's a few wrinkles if you need a text area, group of radio buttons or a 'select' menu, but there are good examples of all of those to be found in 'xml_controller.rb', 'flickr_controller.rb' and 'static_controller.rb'. Sidebars still aren't being tested, but I think it might be *possible* to test them now. I'm also planning on writing a sidebar generator to make the sidebar author's life even easier, but that's probably way over on the 'sometime' milestone. -- Piers Cawley <[EMAIL PROTECTED]> http://www.bofh.org.uk/ _______________________________________________ Typo-list mailing list [email protected] http://rubyforge.org/mailman/listinfo/typo-list _______________________________________________ Typo-list mailing list [email protected] http://rubyforge.org/mailman/listinfo/typo-list
