I don't have an immediate use for this, but it's the kind of thing I
know I'll be looking for one day. Accordingly, I think it needs a
better home than this, practically unsearchable (WTF Google??) email
archive. Care to add it to the wiki somewhere appropriate? I'd do it,
but I can't think of the somewhere appropriate right at the moment.
Exercise mashes my brain.

S.

On Dec 3, 9:31 am, "Michael C. Harris" <[email protected]>
wrote:
> 2009/12/2 Michael C. Harris <[email protected]>:
>
> > I have a content type representing a magazine issue, that are returned
> > through a custom rewrite rule. It saves the year of publication in the
> > postinfo table. When displaying the posts, I want to display them in
> > year order and grouped by years. Is this possible using Posts::get() ?
> > If not, does anyone have any recommendations on how to do it ?
>
> This sorts by postinfo field and handles pagination. Refactor my code :)
>
>   public function filter_theme_act_display_imprints( $handled, $theme )
>   {
>     $paramarray['fallback']= array(
>       '{$type}.multiple',
>       'multiple',
>     );
>
>     // Makes sure the imprint page displays only imprint
>     $paramarray['user_filters']= array(
>       'content_type' => Post::type('imprint'),
>     );
>
>     $theme->imprint_page = Post::get( array( 'slug' => 'imprint',
> 'content_type' => Post::type( 'page' ) ) );
>
>     $page = $theme->matched_rule->named_arg_values['page'];
>
>     $limit = 5;
>     $offset = 0;
>
>     // Calculate the OFFSET based on the page number
>     if ( isset( $page ) && is_numeric( $page ) ) {
>       $offset = ( intval( $page ) - 1 ) * intval( $limit );
>     }
>
>     $params = array(Post::type('imprint'));
>     $query = <<<SQL
> SELECT *
> FROM habari__posts as posts
> LEFT JOIN habari__postinfo as postinfo
> ON posts.id = postinfo.post_id
> WHERE posts.content_type = ?
>   AND postinfo.name = 'year'
> ORDER BY postinfo.value DESC
> LIMIT $limit
> OFFSET $offset
> SQL;
>     $results = DB::get_results( $query, $params, 'Post' );
>
>     $theme->imprint_posts = $results;
>
>     $theme->act_display( $paramarray );
>     return TRUE;
>   }
>
> --
> Michael C. Harris, School of CS&IT, RMIT 
> Universityhttp://twofishcreative.com/michael/blog
> IRC: michaeltwofish #habari

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/habari-dev

Reply via email to