> >   Displays the list of mytag available. }
> >   tag "mytag" do |tag|
> >     render(:controller => MyController, :action => MyAction)
> >   end
> 
> I wish it was this easy.

This is just off the top of my head but:

class EasyControllerExtension

 def activate
  class << SiteController
    def show_uncached_page(url)
      @page = find_page(url)
      unless @page.nil?
        @page.process_controller(self)
        @cache.cache_response(url, response) if live? and @page.cache?
        @performed_render = true
      else
        render :template => 'site/not_found', :status => 404
      end
    rescue Page::MissingRootPageError
      redirect_to welcome_url
    end
  end
  class << Page
    attr_accessor :controller
    def process_controller(controller)
      @controller = controller
      process(controller.request, controller.response)
    end
  end
 end
end


Then you should be able to just do:

tag "mytag" do |tag|
  tag.globals.page.controller.render(:partial => 'monkeys')
end


Dan.
_______________________________________________
Radiant mailing list
Post:   [email protected]
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

Reply via email to