[% FILTER html_para %] [% reply.blog_text %] [% END %] tags: [% FOREACH tag IN reply.blog_tags.split(',') %] [% tag %] , [% END %]
[% IF recurse %][% child_reply.blog_title %]
[% child_reply.blog_text %]
##
YourSpaceDB::Blog.pm stuff:
## Thanks to YourMother of Perlmonks
__PACKAGE__->belongs_to('blog_parent' => __PACKAGE__);
__PACKAGE__->has_many('replies' => __PACKAGE__, 'blog_parent',
undef,
{ order_by => 'blog_date' } );
sub parents {
my ( $self, @parents ) = @_;
my $parent = $self->parent;
return @parents unless $parent;
push @parents, $parent;
die "Endless lineage loop suspected!" if @parents > 100;
$parent->parents(@parents);
}
####
reply page:
sub reply : Local {
my ($self, $c, $blog_id) = @_;
# Set the TT template to use
$c->stash->{blog} = $c->model('YourSpaceDB::Blog')->find($blog_id);
$c->stash->{replies} = [
$c->model('YourSpaceDB::Blog')->search(
{
blog_is_reply => 1,
blog_parent => $blog_id,
blog_is_draft => 0,
}
)
];
$c->stash->{recurse} = 1;
$c->stash->{template} = 'blog/reply.tt2';
}
####
original node
-reply to original node
--reply to reply, but with same title as reply to original node