On 10/13/07, Sam Neth <[EMAIL PROTECTED]> wrote:
> Running 3.1 since release.  I apologize if 3.1.1 or 4.0 will trivialize
> my question; I haven't had time to look at either closely, though I do
> lurk on the dev list.
>
> I use prototype's Ajax.Updater to drop a teaser for the latest entry in
> our blog on our home page, using a custom template that produces the
> appropriate HTML fragment.  I'm now looking at adding more links into
> the blog using similar techniques, and my current task has required a
> code change to Roller.  I spent several hours poring over source code
> and trying different approaches, but I wasn't able to come up with a
> satisfactory alternative.  I thought I'd ask if there was a better way.
>
> My objective is to associate tags with (non-Roller) pages on our site,
> and incorporate links to recent blog entries with those tags.  For
> example, if a blog entry refers to a brand of products we sell, it will
> be tagged with the name of the brand, and I'd like to display a link to
> it on the page for that brand, which will be associated with the same
> tag.  There doesn't seem to be any way to get a list of tagged entries
> from a custom page.  For about two seconds, I considered using
> performing an XSL transformation on a tag filtered RSS feed.
>
> In the end I either needed a $model.getWeblogEntriesPager signature that
> takes a tags list, which I could then send down as a request parameter
> (though not with the name "tags", since Roller inexplicably removes
> reserved keys from the request parameter map), or else I needed
> WeblogPageRequest to make use of the "tags" parameter, which it seems to
> me it should do anyway, with the simple diff below.
>
> Index: src/org/apache/roller/ui/rendering/util/WeblogPageRequest.java
> ===================================================================
> --- src/org/apache/roller/ui/rendering/util/WeblogPageRequest.java      
> (revision 532241)
> +++ src/org/apache/roller/ui/rendering/util/WeblogPageRequest.java      
> (working copy)
> @@ -144,6 +144,10 @@
>                      }
>
>                  } else if("page".equals(this.context)) {
> +                    String tagsString = request.getParameter("tags");
> +                    if (tagsString != null) {
> +                        this.tags = 
> Utilities.splitStringAsTags(URLUtilities.decode(tagsString));
> +                    }
>                      this.weblogPageName = pathElements[1];
>
>                  } else if("tags".equals(this.context)) {

Yes, that's a good fix. I believe leaving that out was just an oversight.

- Dave

Reply via email to