Here's today's drama. Organic groups puts an XML feed icon into the $node.body (and syndicate puts its own).

(WHy isn't there simply a "node footer" template variable for all this stuff? It COULD have been "links" div, and thinks could be added to it with an array, but since it was named links and not node-footer, module writers seem to just tack on what they want whereever they want it).

Anyway, I want to move the XML and Feed icons out of a parent node completely , and place them in the footer (near a copyright) or the very bottom of the parent node.

But there is no easy way to do this that I can see short of overriding Organic groups )and any other module that would want to put the icon in the node).

I don't want to do this with CSS, or DHTML. Do i Have any server side options for doing this kind of thing, short of hacking all the modules? I don';t want to have a dozen hacked modules if I can possibly avoid it.

Comments

nedjo’s picture

You could prevent output of the feeds by putting custom theme_feed_icon() and theme_xml_icon() functions in your theme that return nothing.

shoq’s picture

But I want to put the feed icon into the footer for the specific node. So I just kill it with the theme overide, and called Them_xml_icon() function from the template again from within the footer section of the new template? Will that work?

nevets’s picture

If you mean call theme_xml_icon directly you can do that but it is not recommended. Instead you could add a second parameter to the override like this: phptemplate_xml_icon($url, $show=FALSE). Since existing calls do not use the new parameter, $show will default to FALSE for those existing calls. In the footer you can call it as theme('xml_icon', $url, TRUE) and have the override print the html in this case.

shoq’s picture

Thanks Nevets. That';s one of those obviou forehead slapping solutions you need a guru for :)