Aitor Garay-Romero wrote:
> I like the idea of parametrized snippets.
Here is how I have implemented this idea.
In the tag plugin:
define_tag "snippet:pageattr" do |tag|
attr_to_get = tag.attr['attr_to_get'] || nil
if attr_to_get.blank?
%{<b>NO ATTR SPECIFIED</b>}
else
ret_val = nil
content =
tag.context.instance_variable_get(:@tag_binding_stack).detect{ |slot|
slot.name == "snippet"}
if !content.blank?
ret_val = content.attr[attr_to_get] || nil
if ret_val.blank?
%{<b>COULDN'T FIND ATTR #{attr_to_get}</b>}
else
%{#{ret_val}}
end
else
%{<b>ERROR IN GETTING CONTENT</b>}
end
end
end
The snippet tag in the page:
<r:snippet name="a_snippet" attr_one="hello" attr_two="goodbye" />
The pageattr tags in the snippet:
<r:pageattr attr_to_get="attr_one" />
<r:pageattr attr_to_get="attr_two" />
This will display "hello" and "goodbye" in the snippet.
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
Radiant mailing list
Post: [email protected]
Search: http://radiantcms.org/mailing-list/search/
Site: http://lists.radiantcms.org/mailman/listinfo/radiant