Hello again,

I'm making some progress on extensions and now I'm looking for a little push in
the right direction.

I'm working on an extension for displaying data from database for the FAQ
section of a site using tags (mental branch).

* Created a FaqExtension and include the tag:

  def activate
    Page.send :include, FaqTag
  end

* in lib/faq_tag.rb:
module FaqTag
  include Radiant::Taggable

  class TagError < StandardError; end
  
  tag "faq" do |tag|
    faq = Answerbookpages.find(:all)
    raise TagError.new("Faq cannot be found") unless faq
    tag.locals.faq = faq
    tag.expand
  end
  
  tag "faqhello" do |tag|
    "Hello #{tag.attr['name'] || 'mundo'}!"
  end

end

* "faqhello" (<r:faqhello/>) works and "faq" tag is retrieving from db. 
(Obviously, I have an Answerbookpages class

I'm looking for some insight to take it further.

In my FAQ page, I'd like to use something like the following:

<r:faq>
  <r:answername />
  <r:summary />
</r:faq>

where "answername" and "summary" are fields in the answerbookpages table.

Not sure where to begin..

In the StandardTags class, I see:
  #
  # <r:url />
  # <r:title />
  # etc...
  #
  ((Page.column_names.dup << 'url') - ['class_name', 'created_by',
'updated_by']).each do |method|
    tag(method.to_s) do |tag|
      tag.locals.page.send(method)
    end

Maybe the answer I'm looking for is something similar to this?

Any thoughts or suggestions are really appreciated

Thank you,
Todd

_______________________________________________
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