Re: A simple question about ordering of posts

Chris G <[email protected]> Mon, 1 Feb 2010 16:19:10 +0000
Newsgroups gmane.comp.web.pyblosxom.user
Message-ID <20100201161910.GB22124@chris>
On Sun, Jan 31, 2010 at 06:54:46PM +0000, chombee wrote:
> On Sun, Jan 31, 2010 at 06:23:14PM +0000, chombee wrote:
> > Having said all this, cb_entryparser doesn't really seem like the right
> > callback for what you want to do. You don't really want to change how
> > the entry is parsed from file, just how the entry is rendered. Maybe a
> > cb_postformat plugin that adds a 'template_name' key to the entry_data
> > dict.
> 
> No, wait! I think you want the cb_story callback, the same one that the
> readmore plugin uses. Like the readmore plugin does, you can get the
> entry dict with:
> 
>     entry = args['entry']
> 
> then use 'bl_type' to see if we're dealing with an index or a permalink
> page:
> 
>     if  entry['bl_type'] == 'file':
>         # This is a 'file' page, showing a single entry.
>         pass
>     else:
>         # This is an index page (front page or year, month, day, or
>         # category etc. page) showing multiple entries.
>         entry['template_name'] = 'story-index'
> 
> As a matter of fact, a 'use different story templates for file
> pages and index pages' plugin would be much simpler and more flexible
> than the readmore plugin. If you wanted to provide a preview or summary
> text for each entry like the readmore plugin does, you could just use a
> metadata field for that.
> 
Well I've tried tha above and, so far, I can't get it to work.  I'm
detecting the 'file' and 'dir' for single/multiple entries OK.
So my plugin looks like this:-

    def cb_story(args):

        logger = tools.get_logger()

        e = args['entry']

        if (e['bl_type'] == 'dir'):
            logger.info("It's a 'dir' so set the template_name to 'story-index'")
            e['template_name'] = 'story-index'

        return args


I'm seeing the logger information in my log file but my template
(story-index.html) isn't being used instead of the default story.html.

I'll try adding some debug in the renderer to see if I can understand
what's going on.

-- 
Chris Green


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com