FCafe  投稿日で表示制御

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

 FC2blogでは公開記事は 未来の日付で投稿されたものであっても表示されます。 これを用いて特定のエントリをTOP頁の定位置に INFORMATION 的な用途で表示するのは FORUM でもよく紹介されている「定番」的手法であると言えましょう。
 その一方 「前もって記事を投稿しておき、指定日(設定上の投稿日)になったら表示させる」  という『予約投稿』的な運用を希望するユーザーが存在する事も周知の事実であります。
トレードオフとなっている上記二法を両立させる事はできないものでしょうか。
『時制による表示モード選択』 のサポートが期待される所ですが、ユーザーサイドで実現できないかと試してみた所 何とか実用になりそうなスクリプトを作る事ができましたのでご紹介させていただきます。

上記の3モードを各記事毎に指定できます。 宜しければお試しを。

 

2006/10/12 「予約投稿」 がサポートされた為不要となった記事です


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

<!--topentry-->
<div class="time" id="e-<%topentry_year>-<%topentry_month>-<%topentry_day>-<%topentry_second>">

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

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

現在あるtopentryブロックの内容を全て "time" というクラスのDIVタグで囲みます
( プラグイン Reverse 等を御使用の場合 class="E" の DIV の内側に書いて下さい )
( プラグイン INDEX を御使用の方は 追加したエントリラベルを含めて(外側に)書いて下さい )
IDは上記の如く 年・月・日・秒を-で繋げて下さい。
( e は任意の半角英字(複数)でも可です )

「最新記事リスト」 がある場合は リストタグを以下のようにします

<li class="time" id="f-<%recent_year>-<%recent_month>-<%recent_day>-<%recent_second>">
リスト項目内容
</li>

<li> タグに "time" というクラスを指定します
また、記事部と同じ要領で 時間変数による ID を付加します
( f は任意の半角英字で可ですが 記事部とは異なる文字(列)として下さい)

HTMLソース末尾 ( </body>  タグの手前 )に以下のスクリプトを書きます

<script type="text/javascript"><!--
var today=new Date();
function Yet(){
for (k=0;k<2;k++) {
if (k==0) { var A =document.getElementsByTagName('DIV')}
if (k==1) { var A =document.getElementsByTagName('LI')}
for (i=0;i<A.length;i++) {
  if (A[i].className=="time") { hide(A[i].id);
} } } }

function hide(ID) {
var p=ID.split('-');
var c=new Date(p[1],p[2]-1,p[3]);
if ((c>today && p[4]=="00")||(c<today && p[4]=="01")){
   document.getElementById(ID).style.display="none";
} }

Yet();
//--></script>
 

【 使用法 】  記事の投稿時刻を「自分で指定」とし以下の如く『秒』を指定します

 

【 解 説 】  スクリプトは DIVタグ中クラスが time であるものの ID をchkします。
( スクリプトにチェックさせる為のラベル的意味合い( li タグにも用いる)なので time というクラス名はCSS属性の定義等に用いず、親要素との連関等に依るのが良いでしょう )
IDには 「年月日情報」と共に 秒変数を用いた「モード情報」が含まれていますので、これらを判別してスクリプトは記事の表示をON/OFFする訳です。
( 記事のみでなくナビリスト(recent)中の記事リンクもON/OFFできます )
モード指定にエントリのカテゴリを用いる方法も検討したのですが recent にはカテゴリ変数が存在しませんからリスト上の項目制御が困難であった為、この方法を採った次第。
・・・本来的意味では重要度の低い 「秒」変数にもこのような使途がある訳です。

この方法で注意しなければならないのは、(僅かですが)同一日付けで複数の記事を投稿すると同じIDが生じる可能性がある、という事です。 (同じ)モードを指定した記事を同じ日付で複数投稿する事は殆どないでしょうが (通常モードの場合はダブる確率は数十分の一)、 一応確認を怠らないようにされて下さい。

SAMPLE

Comment

sugar sugar Edit
04/07 01:02

素晴らし過ぎます……ダークサイダーズ(最近はもうこの呼び名はout of time?)のお仕事を見ていると、何でもできそうな気がするのは私だけではないでしょう。早速Q&Aでもリンクさせていただきマス。

daniel daniel Edit
04/07 02:18

sugarさんこんばんは。 
JUGEMで もっとプリミティブな方法を書いた事があります。
( △△セール とか商用に使途があるかも知れません )
リンク、 して頂ければ光栄です。

>何でもできそうな気がする
「なせばなる」 てのが信条でして ほぼそういう人生でした。
ブログのカスタマイズも結構なレベルまで来た、
・・・とそう思ったりする事も無いではない昨今でしたが。

Chakoさんの新掲示板イイナ と配布元に貰いに行ったら
「スキンカスタマイズが嵩じてゼロからCGIを学びBBSを自作・配布」
て方だと知って落ち込み真下
「BBSカスタマに嵌ったのはオレも同じなのにこの差は何」
て感じで欝に。

深月 深月 Edit
04/07 17:11

ぬほ。よく思いつきますね~。
時制の制限も一応検討してますが、今の所仕様をどうしたものか~と言う感じですね。

daniel daniel Edit
04/07 20:39

TEST用タイトル長 元締め こんばんは。
FORUMではよく目にする事項ですんでネタにしてみました。
 
●下書き ◎通常公開 ◎待機公開 ◎期限付公開

・・・というのでは如何

らっしゅ らっしゅ Edit
08/02 16:04

danielさん、はじめまして。
フォーラムでここへのリンクをみかけてこのスクリプトの機能に感激し、さらに自分なりに使いやすくなるよういじってみました。年月日時分まで指定して、danielさんのスクリプトと同様に表示を制御できるようにしました。

danielさんのアイデアを、よく言えば参考に、悪く言えばパクリ、という状況なのですが、そのようなスクリプトを公開してもよろしいでしょうか?

daniel daniel Edit
08/02 17:27

らっしゅさん はじめまして。
是非是非 「公開」 されちゃってください。
そのような進化的伝播こそ、私が本意とする所のモノであります。
( 本当は「こういうもっとイイ方法がある」て教えて貰いたい )

理系学生アフィリエイター☆唯’ 理系学生アフィリエイター☆唯’ Edit
08/30 03:21

はじめまして、danielさん。
31日から家をあけるので、その間の記事を予約投稿したいなぁと思って探していたらこちらにたどり着きました!

こんな方法もあるんですね。

早速、今日の記事をアップするために試してみたのですが、
表示されちゃいました(>_<)
今日の3時ぴったりくらいに、
8月30日3時15分00秒に表示されるように設定したと思うのですが。。。

私のブログのアドレスです。
http://yuidashmoke2.blog56.fc2.com/

何か分かりましたらアドバイスお願いできないでしょうか。

いきなりのお願いですみません。

よろしくお願いします。

daniel daniel Edit
08/30 18:13

私のスクリプトは「年・月・日」で公開を指定する仕様です。
「その日」 になったら 00:00 から表示・非表示化されます。

「時刻」まで指定されたい場合は上にコメント下さった
 http://coldcase.blog31.fc2.com/blog-entry-234.html「らっしゅさんの記事」 を参考にされて下さい

- - Edit
09/07 01:17

承認待ちコメント このコメントは管理者の承認待ちです


.  
HN Title URL PW secret

TrackBack http://pcafe.blog3.fc2.com/tb.php/315-3e1cec83

Shown after Admisson
飲むか撮るか *
FC2ブログでは現在、他のブログサービスにあるような記事の予約投稿的なことはできません。投稿時に記事の日時を未来のものにしても、公開した時点でそのまま公開されます(日時は設定したものになっている)。これはこ
FCafe *
古いテンプレをグチグチと弄くってました(管理人本来の姿)らFORUMの投稿が目に留まりまして。どうやら FC2ブログにも遂に「予約投稿」機能がサポートされた模様であります。早速 管理画面(記事の投稿・編集頁
.

≫ あの日に帰りたい ホムペのBBS ≪

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