sbの記事リストでタイトルを完全表示
またまたsbスクリプト改造ネタ。
記事リストのタイトル欄で、長いタイトルが途中で切られてしまうのが気になっていました。
私が考えた解決法は以下の2つ。
- リストの中のタイトルを完全に表示させる
- 切られる仕様はそのままで、タイトル上にマウスカーソルを置いたときに完全なタイトルをチップ表示*1させる
改造自体は簡単です。とはいえ、改造ですから念のためバックアップを取りましょう。(お約束)
- リストの中のタイトルを完全に表示させる
この改造を行うと、長いタイトルは折り返されて2行以上になります。それと同時に全体的に右に詰まる感じになるので他の欄が多かれ少なかれ見にくくなります。テーブル幅を広げれば済む話ですが、ここではそれには触れないことにします。
lib/sbtemp.pl - 930行目
$subj = (length($subj) > $aSubjLen) ? &sbtxt_clip($subj,0,$aSubjLen,$gEnv{'code'}) . '...' : $subj;
ここの行頭に#(半角シャープ)を一つ書き加えます。それだけです。要するに、長いタイトルを短くする部分をコメント化するだけです。
# $subj = (length($subj) > $aSubjLen) ? &sbtxt_clip($subj,0,$aSubjLen,$gEnv{'code'}) . '...' : $subj;
なお、ここでは#と$subjの間がスペース1個に見えますが実際にはタブコードが3個入っているはずです。とにかく行頭に # を書けばそれで終わりです。こんなのでも改造は改造。。。
- 切られる仕様はそのままで、タイトル上にマウスカーソルを置いたときに完全なタイトルをチップ表示させる
lib/sbtemp.pl - 934行目
$gData{'{sb_entry_title}'}[$num] = ($check) ? $subj : '<a href="' . $gData{'{sb_site_cgi}'}[0] . '?mode=edit&eid=' . $$hash{'id'} . '">' . $subj . '</a>';
ここを以下のように書き換えます。(実際には強調部分を書き加えるだけです)
$gData{'{sb_entry_title}'}[$num] = ($check) ? $subj : '<a href="' . $gData{'{sb_site_cgi}'}[0] . '?mode=edit&eid=' . $$hash{'id'} . '" title="' . $$hash{'subj'} . '">' . $subj . '</a>';
両方採用するのは意味がないでしょうね。(笑)