}
-=head2 related_link($stoid)
+=head2 get_histories
+
+=cut
+
+sub get_histories {
+}
+
+=head2 get_related_items($stoid)
get related links.
=cut
-sub related {
- my ($self, $stoid) = @_;
+sub get_related_items {
+ my $self = shift;
+ my $params = {@_};
+ my $stoid = $params->{stoid};
+ return if !$stoid;
my $dbh = $self->connect_db;
my $sql = <<"EOSQL";
-SELECT related.*, story_text.title as title2, firehose.srcid
+SELECT related.*,
+ story_text.title as title2,
+ firehose.srcid,
+ topics.*
FROM (
SELECT * FROM related_stories
WHERE stoid = ?
ORDER BY ordernum ASC
) AS related
- LEFT JOIN story_text ON related.rel_stoid = story_text.stoid
+ LEFT JOIN story_text ON story_text.stoid = related.rel_stoid
LEFT JOIN firehose ON firehose.id = related.fhid
+ LEFT JOIN stories ON stories.stoid = related.rel_stoid
+ LEFT JOIN topics ON topics.tid = stories.tid
EOSQL
my $sth = $dbh->prepare($sql);
$sth->execute($stoid);
my $related = $sth->fetchall_arrayref({});
- $sth->finish;
$self->disconnect_db();
for my $r (@$related) {
$r->{type} = "submission";
$r->{key_id} = $r->{srcid};
}
+ $r->{primary_topic} = {};
+ $r->{primary_topic}->{tid} = $r->{tid};
+ for my $k (qw{keyword textname series image width height
+ submittable searchable storypickable usesprite}) {
+ next if !$r->{$k};
+ $r->{primary_topic}->{$k} = $r->{$k};
+ delete $r->{$k};
+ }
}
return $related;
if ($d_id) {
$comments = $c->model('comments')->select(discussion_id => $d_id);
}
- my $related = $stories->related($story->{stoid});
+ my $related = $stories->get_related_items(stoid => $story->{stoid});
+ my $histories = [];
+ for my $i (@$related) {
+ if ($i->{type} eq "submission") {
+ push @$histories, $i;
+ }
+ }
#$c->app->log->debug(dumper($related));
my $params = $stories->parameters($story->{stoid});
discussion => $discuss,
comments => $comments,
related => $related,
+ histories => $histories,
params => $params,
authors => $authors,
use_captcha => 1,
[%- INCLUDE common/article/article hide_more_link=1 -%]
<article-item></article-item>
</div>
+ <div class="next-prev-story">
+ [%- IF params.prev_stoid && params.prev_stoid.story -%]
+ <li>前の記事:<a href="/story/[% params.prev_stoid.story.sid %]">
+ [% params.prev_stoid.story.title %]
+ </a></li>
+ [%- END -%]
+ [%- IF params.next_stoid && params.next_stoid.story -%]
+ <li>次の記事:<a href="/story/[% params.next_stoid.story.sid %]">
+ [% params.next_stoid.story.title %]
+ </a></li>
+ [%- END -%]
+ </div>
+ <div class="history">
+ [%- FOREACH item IN histories -%]
+ <span class="title">
+ <a href="/[% item.type %]/[% item.key_id %]">[% item.title %]</a>
+ </span>
+ [%- END -%]
+ </div>
<div class="related">
<h3>関連リンク</h3>
<ul>
[%- FOREACH item IN related -%]
- <li><a href="/[% item.type %]/[% item.key_id %]">[% item.title %]</a></li>
- [%- END -%]
- [%- IF params.prev_stoid && params.prev_stoid.story -%]
- <li>前の記事:<a href="/story/[% params.prev_stoid.story.sid %]">
- [% params.prev_stoid.story.title %]
- </a></li>
+ [%- IF item.type == "story" -%]
+ <li>
+ <div class="topic-icon">
+ [%- IF item.primary_topic.image.length -%]
+ <img src="[% Site.topic_icon_base_url %]/[% item.primary_topic.image %]" />
+ [%- END -%]
+ </div>
+ <span class="title">
+ <a href="/[% item.type %]/[% item.key_id %]">[% item.title %]</a>
+ </span>
+ </li>
[%- END -%]
- [%- IF params.next_stoid && params.next_stoid.story -%]
- <li>次の記事:<a href="/story/[% params.next_stoid.story.sid %]">
- [% params.next_stoid.story.title %]
- </a></li>
[%- END -%]
</ul>
</div>