ココログのトップページから過去の記事をN件ずつさかのぼって表示できるようなスクリプトを試作してみました。
サイドバーのメモリスト等、HTMLを記述できるところに、↓のようなスクリプトを貼り付けます。
カスタムCSS対応のテンプレートをお使いの方は、CSS部分(<style ... >~</style>の~部分)は、カスタムCSSの中にまとめて書いてしまった方がよいです。
なお、拙作の目次スクリプトで既にCSS設定してある方は、このスクリプトでも共通で使えますので、<style ... >~</style>は省略出来ます。
→【2009/07/17】設置用フォームに変更。
<script type="text/javascript" charset="utf-8" src="http://furyu.tea-nifty.com/script/cocoPBack.js"></script>
<style type="text/css">
.ccpb_nav {
font-size: 14px; line-height: 120% ;
margin: 0px; padding: 2px 0px 2px 0px;
text-align:center;
}
.ccpb_counter {
font-size: 12px;
margin-left: 12px;
color: darkgreen;
}
.ccpb_list {
list-style-type: none;
margin-left: 12px;
padding-left: 0px;
text-align: left;
}
.ccpb_list li {
margin-left: 0px;
padding-left: 0px;
}
.ccpb_number {
display:block; width:2em; text-align:right; font-weight: bold;
}
.ccpb_table tbody {
vertical-align: top;
line-height: 110%;
text-align: left;
word-break: normal ;
}
.ccpb_alink {
width: 72px;
font-size:10px;
}
.ccpb_plink {
word-break: break-all;
}
</style>
<script type="text/javascript">
with (cocoPBack) {
showMax = 5 ; // 1ページあたりに表示する記事数(ただしトップページのみココログ管理画面の設定に依存)
backTitle = 'back' ; // '戻る'リンクのタイトル
backStr = '<span style="font-family:monospace;"><< back</span>' ; // '戻る'リンクデザイン
nextTitle = 'next' ; // '進む'リンクのタイトル
nextStr = '<span style="font-family:monospace;">next >></span>' ; // '進む'リンクデザイン
separator = '<span style="font-family:monospace;"> | <a href="javascript:void(0)" title="top" onclick="javascript:cocoPBack.pageBack(0)">top</a> | </span>' ; // セパレータデザイン
spacer = '<span style="font-family:monospace;"> </span>' ; // '戻る'や'進む'リンクがないときの代替表示デザイン
topTitle = 'トップページ' ; // トップページで表示するタイトル
pageTitle = 'バックナンバー' ; // バックナンバーページで表示するタイトル
switchLinkType = true ; // ページ内移動と個別ページへの移動のリンクの入れ換え(false:入れ換えない true:入れ換え)
linkTitleType1 = 'ページ内移動' ; // ページ内を移動するリンクのタイトル
linkTitleType2 = '個別ページへ' ; // 個別ページへ移動するリンクのタイトル
useIndex = true ; // ページ内目次表示
useTopIndex = true ; // トップページにも目次表示
useTopNav = true ; // 上部のナビ表示
useBottomNav = true ; // 下部のナビ表示
navBeforeIndex = true ; // ナビを目次の前に付ける
entryDescend = true ; // 元の記事の並び順(false:昇順 true:降順)
onCompleteContent = null ; // 整形後に呼出す関数
}
cocoPBack.init();
</script>
デフォルトだと、上下に << back | top | next >> のようなナビが現われて、5件ずつ表示を切替えることが出来ます。
各種パラメータについてはコメントを見ながらお好みで変更してください。
なお、拙作の
目次スクリプトを使用している場合には、
cocoPBack.init();
を削除し、代わりに、目次の設置用スクリプトのオプションとして、
cocoPView.onCompleteContent=function(){
cocoPBack.init();
};
というのを追加します。
既に
お知らせスクリプト等でこの設定を使っている場合には、
cocoPView.onCompleteContent=function(){
cocoInsertNotice.init();
cocoPBack.init();
};
のように
{ ~ }内に追加します(cocoPView.onCompleteContent=~の設定を2箇所以上に書いてしまうと、後のものが優先されて前のものは無効になりますのでご注意を)。
cocoPView.onCompleteContent=~は、cocoPView.init_onload() もしくは cocoPView.getArchivesRequest()よりも前に追加してください。
また、このスクリプトを適用したあとで別のスクリプトの機能を呼びたい場合(たとえば、ページを切替えた後で、
コメント表示釦や
TOPへ戻るリンクを追加したい場合等)には、上の設置用スクリプト中で、
onCompleteContentの箇所を修正します。
例えば、コメント表示釦の追加の場合には、
onCompleteContent=function(){
cocoCView.init();
};
のように設定します。
【制限事項】
- 動作するかどうかはお使いのテンプレートに依存します。特に、ココログオリジナルテーマ等はNGです。また、月別バックナンバーを作成していないブログでは動作しません。
具体的には、ご自分のトップページにて、
を試してみて、ナビや目次が表示されないようでしたら、未対応です。
- トップページの表示件数はココログの管理画面で変えてください(このスクリプトではトップページについてはナビを付けるだけです。showMaxを調整しても変わりません)。
- 記事中にスクリプト等のタグを貼り付けてある場合に、動作しません(@nifty投票など)。
- 当然ながら無保証ですし、あまりテストしていないので不具合も多いかと思います。ご了承の上、自己責任でお使いください。
『
みんなで解決!広場』で、たまに、トップページから過去記事をさかのぼりたい(*1)、1件ずつじゃなく何件かずつ表示したい、といった意見をみかけるので、試しに作ってみたものです。
月の切れ目のところでもたついたり、URLが変化しなかったり、いろいろと問題があるのは重々承知の上ですが、『無いよりはまし』程度のものが出来たようにも思います。いかがでしょうか。
(*1) 最近のメンテナンスで、プロコース以外でも、トップページから次の1件へは飛べるようになったので、1件ずつならたどっていくことはできますね。
こんばんは。
うれしい、そして、待ち望んだスクリプトです。(^^♪
使わせて頂きました。
望んでいたとおりの、結果でした。
でも、ちょっと思案中です。(^_^;)
投稿: OBOCCO | 2007/08/30 2:00:48
ちょっと試用してみたんですが。。。
うちの設定だと、cocoPView.onCompleteContent記法が効かないようです。
# 私の今の設定だと、トップに目次は要らないんですよね。。。スミマセン(^^;
# onCompleteを使わないと、目次&遡り用リンクが両方でます。
一応、お知らせまで。
あと、思ったんですけど、下部に、次の目次5件を先行表示するってのはどうでしょうか?[重いだけかな]
投稿: facet | 2007/08/30 7:17:38
cocoPView.onCompleteContent=~
の行を書く位置がおかしかったりしません?
まだ cocoPView.js を読込む前に書かれてるので、cocoPViewオブジェクトが定義されていないように見えます。
cocoPView用設定の箇所に移動してみてください。
あと、トップに目次を表示しない場合には、
useTopIndex=false;
に変更してみてください。
| 下部に、次の目次5件を先行表示する
ちょっと動作が重くなるかなぁ……先行読込みすることになるんで、次の表示までは逆に軽くなるかもですが。
#あと、その目次のリンクをクリックされたときにどう動くかが難しいかも……いや、リンクにしなければいいんですけど(笑)
投稿: 風柳>facet さん | 2007/08/30 8:46:04
できました~。寝ぼけてたようでスミマセン(^^;
先行表示の件は、確かにクリックしたときの挙動が難しいですね。
まあ、たんなる「固定リンク」でいい気もしますが。
というか、先行表示自体がやっぱりあまり意味ないかも(^^;
軽く流してくださいませ~
投稿: facet | 2007/08/31 2:44:09
こんばんわ。
いつも参考にさせていただいています。
<< back | top | next >> だけをつけたい場合はどのようにしたらいいですか??
投稿: tomo☆ | 2007/09/09 22:27:54
tomo☆ さん、どうもです。
設置用スクリプトの中の、
useIndex = true ; // ページ内目次表示
という行の true となっているところを false に変えると、目次なしでナビだけが表示されるようになる……と思います。お試しください。
#あまりテストしていないので、うまくいかなかったらお知らせ下さい。
投稿: 風柳>tomo☆ さん | 2007/09/11 1:44:53
ありがとうございました!
できました♪
投稿: tomo☆ | 2007/09/11 19:05:22
はじめまして、今晩は。
Script、有り難くお借りします。
チャンと設置出来るかどうか不安ですが(^^;)
投稿: Tosi | 2008/05/20 21:07:47
初めまして。
目次、お知らせ、トップページナビの
3つのスクリプトをお借りしました。
おかげ様でとても便利になりました。
ありがとうございます。
ところでナビのスクリプトに関してなんですが
機能は問題なく作動してはいるんですが
<back>(当方での設定は<前の5件>をクリックすると
CSSで指示している記事欄の表示がおかしくなります。
具体的には、記事を個別に角丸で囲うようにしているのに
それが反映されなくなっている状態です。
<back>や<next>以外でページを表示させた場合
(目次や月別バックナンバー含む)は角丸が反映しています。
この状態を回避する方法はありませんでしょうか?
一応今の状態のままでおいておきますので
お時間がある時にでも一度ブログを確認頂ければ幸いです。
尚、現在は新しい記事から順に画像への枠付け作業を行ってますので
過去記事の画像と記事を囲んだ角丸がズレているのは
今回の件とは関係ありません。
以上、長文失礼しました。
宜しくお願い致します。
投稿: たま | 2008/11/26 14:22:03
度々すみません。
角丸の件は解決していないのですが、
先ほどもう一度確認してみると
記事中に貼り付けたyoutubeの再生画面が
動作してないことに気付きました。
こちらでも注意書きをされていたのに…。
残念ですが、ナビをつけるのはあきらめます(泣)
お騒がせをしてすみませんでした。
このコメントは削除して頂いて結構です。
投稿: たま | 2008/11/26 19:34:15
初めまして、こんばんは。
こちらのスクリプトをありがたくお借りしました。
動作確認をしたところ、きちんと働いてくれているようです。
どうもありがとうございました。
投稿: mio | 2009/01/07 22:37:18
はじめまして。
Web 超初心者です。
どうしても、過去にさかのぼる設定をしてくてお伺いしました。
リッチテキストではできなかったので、カスタム・テーマに変更して
カスタムCSSを編集に上記を貼り付けました。
それだけでは、反映しないのですか?
いろいろ調べたんですがわからなくて
ほんとにアホな質問ですみません。
(読まれたら削除してくださいm(_ _;)m)
投稿: ミル | 2009/07/17 16:03:27
ミルさん、どうもです。
とりあえず、記事中にココログに設置するためのフォームをつけて置きました。
これなら[ココログに設置]ボタンを押して、指示に従えば簡単に設置出来ると思います。お試し下さい。
※『ブログパーツをサイドバーに設置』画面の「確認」欄には何も表示されませんが、気にしないで下さい。
※リッチテンプレートでも(特殊なもの以外は)設置出来る、はずです。
---
蛇足ですが、HTMLをコピーして貼付けるタイプのスクリプトの場合、ココログでは
・メモタイプのマイリストを作成し、コピーしたHTMLを貼り付ける。
・作成したマイリストを、ブログのサイドバーに表示する。
が基本となります。
また、カスタムCSSは、名前のとおり、CSSのみを貼付けることができます。
HTMLやスクリプト(<script ...>~</script>)を貼り付けることはできません。
<style ...>
【この部分のみ、カスタムCSSに貼付可能】
</style>
投稿: 風柳>ミル さん | 2009/07/17 17:17:58
風柳さん!できました!!
ありがとうございます!!
めっちゃうれしい(TωT。)感動です。
ご親切にありがとうございました!
投稿: ミル | 2009/07/17 20:18:35
はじめまして、こんばんは。
[ココログに設置]ボタンで、スクリプトを使わせていただきました。
私のブログはリッチテンプレートでしたが、無事に動作しています。ありがとうございました。
投稿: あや | 2009/07/17 23:40:33
>ミル さん
無事設置出来たようでよかったです。
>あや さん
リッチテンプレートでの動作報告ありがとうございます。お役に立てましたら幸いです。
投稿: 風柳 | 2009/07/20 12:39:10
はじめまして。こちらのスクリプトを直貼りで使用させていただきました。
一部手直しして使用した部分がありましたのでご報告させていただきます。
上記設置用HTMLのseparatorのなかのtopというリンク文字を変えようとしたのですが変わりませんでした。そこでcocoPBack.jsを確認したところ、var=cocoPBack{内のseparatorはコメントアウトしてありtoTopTitle,toTopStr,navSeparatorが生きているようなので置き換えてみた結果、topという文字を変更することができました。
separatorに関して、お手数ですがご確認いただければと思います。
投稿: zxvf | 2009/08/28 2:28:37
zxvf さん、お返事遅れました。
おっしゃるとおり、separatorの処理がおかしくなっておりました(cocoPBack.js中のseparatorはコメントアウトではなく、中身を空にして残しておくべきところでした)。
ご指摘有り難うございました。
投稿: 風柳>zxvf さん | 2009/09/17 17:19:46