FCafe  記事の日付順表示

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

・・・え~と。 先程スクリプト中での”010”は10でなくて8になるのだと知った管理人です。
( やっと小学校レベルを卒業出来たと思ったらまだオムツが取れてなかった、て感じです )
なんだか 色々と先行きが危ぶまれることしきりな訳ですが、新たな収穫もありまして。
以前からの懸案であった 「記事表示順を反転する方法」 を纏める事ができました。

  過去何度か書いて来た事ですが、複数の記事が連続した「物語」となっているような場合、次の記事が読み終わった記事の下ではなく上にありますと、煩わしく感じられるものです ( 殆どのblogは「新着順」設定なので)。 これは特に「月別アーカイブ」で顕著であると言えましょう。
天界ならぬ地上界にある我々がこれを逆転する方法がFC2帝国発祥以前、JUGEM魔法王朝の時代に既に開発されておりました事は知る人ぞ知る処でありますが、その由来等については民明書房刊「Blog文明興亡史」でも御参照頂くとして、要は私はずっとこれを作りたかった訳です。
新たにして最大の課題に挑む前に是非クリアしておきたいテーマであったとも言えます。
・・では 「TOP頁以外で記事を『日付順』表示とする」 方法( FCafeバージョン)です

  IE6、 Firefox、 Opera で動作


【 設置法 】  記事部分 ( topentryブロック ) を以下のようにします

<!--topentry-->
<div class="E">

    ★変更前のエントリタグ全て

</div>
<!--/topentry-->

現在あるtopentryブロックの内容を全て "E" というクラスのDIVタグで囲みます
( プラグイン INDEX を御使用の方は 追加したエントリラベルも含めて下さい )
 

topentry ブロック以降( </body> タグの手前等でも可 )に以下のスクリプトを書きます

<!--not_index_area--><!--not_permanent_area-->
<script type="text/javascript"><!--
function Reverse(T,C) {
var A=document.getElementsByTagName(T);
var B=new Array();
var k=0;
for (i=0;i<A.length;i++) {if (A[i].className==C) {B[k]=i;k++} }
if (k>1) {
var l=Math.floor(k/2); k--; 
for (i=0;i<l;i++) {
var D = A[B[i]].innerHTML;
A[B[i]].innerHTML = A[B[k-i]].innerHTML;
A[B[k-i]].innerHTML = D;
} } }
Reverse('DIV','E');
//--></script>
<!--/not_permanent_area--><!--/not_index_area-->
 

【 解 説 】  スクリプトは各エントリを包含する DIVタグをクラス名で探しカウントします。
頁内に複数の記事があった場合は 先頭の記事と最後の記事、2番目の記事と後ろから2番目の記事、というように「入れ替え」ます。 頁内に(一つしか)記事が無い場合(カテゴリやアーカイブでも在り得ます)は何もしません。
お示ししたソースでは not_index , not_permanent のエリアタグで囲む事により 初期頁と個別表示モードではスクリプトは作動しません (トップページのみ新着順表示となります) が、 date エリアで囲むことにより アーカイブモードのみ「日付順」表示とする事も可能です。

このスクリプトの関数は引数に 「タグ名」と「クラス名」 を持ちます。
指定されたクラス名のタグ内容を並べ替える、という汎用性がある訳です。
「リストの表示順を反転させる」 なども可能です ( 別方面の応用があるかも? )

   SAMPLE

アーカイブモードで記事を並び替える仕様のものを共有プラグインに登録しました (2/18)
また、同原理を用いた時系列表示アーカイブリストも登録しております

Comment

aum aum Edit
03/02 00:52

スクリプトを利用させていただいたので、
一言ご挨拶をと思い伺いました。
便利なものをありがとうございます。

また、別のスクリプトも利用させていただくこともあるかと思います。
上手くいかなかった場合など、
ご迷惑でなければよろしくご指南下さい。

daniel daniel Edit
03/02 01:08

aum さんはじめまして。 御利用有難うございます。
当店製品につきましては 可能な限りサポートさせて戴きますので
お気軽にお申し付け下さいます様に

Emmy Emmy Edit
03/25 00:08

共有テンプレodinをお借りしてます。
こちらのブログのように日付順の反転をしようと試してみたのですが、上手くできません。
アーカイブとカテゴリー部分をdivで囲みましたが、
アーカイブは変化なし(新着が上に)、カテゴリーはタイトルだけ反転しましたが日付が一番上と下が交換されてしまいます。またIEで確認するとカテゴリーのリンクが拡大します。
どこかやり方がおかしいのでしょうか…それとも何か追加しなければいけないのでしょうか…。
良かったら教えてください。

お借りしてきたテンプレの変更はしていません。

daniel daniel Edit
03/25 04:10

Emmyさんこんばんは。  Odinの御利用有難うございます。
最初に申し上げますが、当店ではこのスクリプトを使用しておりません。
Odinというテンプレート はこのスクリプトを必要としないのです。
管理画面「環境設定の変更 」⇒「ブログの設定」で
「記事の表示方法」を「日付け順」にするだけでOK。
(「新着順」でも「日付け順」でもTOP頁は変りません)
敢えて言えば当店の場合、頁下部のナビを一部左右入れ替えてますが

Emmy Emmy Edit
03/25 06:35

穴があったら入りたいほど恥ずかしいです……。
私はてっきりFC2の設定内では無理だと思い、何日もあーだこーだと検索かけては色々試してました(´д⊂)必要ないことに頭を悩ませていたようです。ブログ=新着順のイメージが強すぎたんでしょうか orz
大変失礼しました!!!!そしてありがとうございました。


.  
HN Title URL PW secret

TrackBack http://pcafe.blog3.fc2.com/tb.php/305-910301f5

Shown after Admisson
ブログで小説! *
プラグインについて[参考]『FC2blog:ブログ運営に必要なことは管理者ページに備わっている』・プラグイン該当ページ『FC2blog Public Plugins』 『FC2blog Public Plugins』は、プラグインタイ
.

≫ 濃縮作業中 Page Selector ≪

2006 / 02 / 15  Wed
Entry   
Comment 5 / TB 1 / Edit
Designed by Daniel Corporation . all rights renounced
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。