2011-02 / 2011-02-06

前のエントリ: AlarmManagerで単純にブロードキャストを投げるだけ [Android]
次のエントリ: find|xargsでスペース込みのパスが有る場合 [command]

前のエントリ/次のエントリにタイトル付加
2011-02-06-3 / カテゴリ: [perl][chalow] / [permlink]

アイテム毎ページの次へ/前へに、そのタイトルをつける。
--- chalow.20110206	2011-01-23 16:42:29.715835927 +0900
+++ chalow	2011-02-06 03:59:16.342571765 +0900
@@ -763,15 +763,21 @@
    my $ymdi_before;
    my $ymdi_after;
+	    my $before_title;
+	    my $after_title;
    if ($i > 1) {
	$ymdi_before = $ymd."-".($i-1);
+		$before_title = $ent->{$i-1}->{ho};
    } elsif ($idx < @day_list - 1) {
	my $day_b = $day_list[$idx + 1];
	$ymdi_before = $day_b."-".$cl->{all}->{$day_b}{curid};
+		$before_title = $cl->{all}->{$day_b}->{$cl->{all}->{$day_b}{curid}}->{ho};
    }
    if ($i != $ent->{curid}) {
	$ymdi_after = $ymd."-".($i+1);
+		$after_title = $ent->{$i+1}->{ho};
    } elsif ($idx > 0) {
	my $day_a = $day_list[$idx - 1];
	$ymdi_after = $day_a."-1";
+		$after_title = $cl->{all}->{$day_a}->{1}->{ho};
    }
 
@@ -794,4 +800,6 @@
    $t->param(back => $ymdi_before);
    $t->param(next => $ymdi_after);
+	    $t->param(back_title => $before_title);
+	    $t->param(next_title => $after_title);
 
    my $ccc = $item->{c}; $ccc =~ s!^<br />!!g;# ad hoc
現在の処理対象アイテムのタイトル取得は
$t->param(header_text => $item->{ho};
にあるので、特定のアイテムのタイトルは
$cl->{all}->{"YYYYmmdd"}->{x}->{ho};
で取れる。

テンプレ例
--- cl.conf.20110206	2011-01-23 16:42:37.523566691 +0900
+++ cl.conf	2011-02-06 03:58:01.367043689 +0900
@@ -362,6 +362,6 @@
 <div id="content">
 <p class="calendar"><a href="<TMPL_VAR name=ym>.html"><TMPL_VAR name=ym></a> / <a href="<TMPL_VAR name=ymd>.html"><TMPL_VAR name=ymd></a></p>
-<TMPL_IF name=back><a href="<TMPL_VAR name=back>.html">前のエントリ</a> / </TMPL_IF>
-<TMPL_IF name=next><a href="<TMPL_VAR name=next>.html">次のエントリ</a></TMPL_IF>
+<TMPL_IF name=back><a href="<TMPL_VAR name=back>.html">前のエントリ(<TMPL_VAR name=back_title>)</a> / </TMPL_IF>
+<TMPL_IF name=next><a href="<TMPL_VAR name=next>.html">次のエントリ(<TMPL_VAR name=next_title>)</a></TMPL_IF>
 <!-- start:<TMPL_VAR name=ymdi> -->
 <div class="day">
前のエントリ: AlarmManagerで単純にブロードキャストを投げるだけ [Android]
次のエントリ: find|xargsでスペース込みのパスが有る場合 [command]

2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2013-05-02 16:12