Nucleus(JP)フォーラム Forum Index

Find on the forum:
OR  AND    » Advanced Search

未返信の記事を表示全てのフォーラムを既読にする

新しいトピックを投稿 トピックに返信
投稿者 メッセージ
gawa
未登録ユーザー





記事 日時: 2004.08.23 (月) 22:32   記事の件名: 何番目のエントリ?
引用付きで返信

質問させてください。
各エントリに「何番目に登録されたエントリか」を表示させたいのですが、その方法がみつかりません。
最初アイテムIDでやってみたのですが、あれって削除したエントリのIDもそのまま記録してあるんですね。
なのでうまく行きませんでした。

やりたいのは、存在しているエントリの中でそれぞれに番号をふる事です。

もしご存知の方いらっしゃいましたら、ぜひ教えてください。
お願いします。

トップに戻る

yu
モデレーター
モデレーター


登録日: 2003.11.15
記事: 718
所在地: 神奈川

記事 日時: 2004.08.29 (日) 17:22   記事の件名: Re: 何番目のエントリ?
引用付きで返信

遅いレスですが・・・

アイテムIDがだめということであれば、独自にプラグインをつくって実現させる以外はむりだと思います。

_________________
Nucleusだとか
http://nucleus.datoka.jp/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2004.08.30 (月) 08:44   記事の件名:
引用付きで返信

投稿日時順に記事が表示されるわけですが、投稿日時そのものが変更できるので、例えば100番目に書いた記事を一番古い日付にすると、今までの記事はプラス1番になっちゃいます。

「ページにアクセスした時点での投稿日時の古い順に閲覧可能な記事(削除記事、ドラフト記事、未来日付の記事を除く)の通し番号」を表示させるプラグインを書く事は簡単ですが、上記例示などのケースから、この通し番号は変動してしまうのであまり意味がないと思うのですが。

_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
gawa
未登録ユーザー





記事 日時: 2004.09.02 (木) 04:02   記事の件名: ありがとうございます
引用付きで返信

返信してくださってありがとうございます。
一度エントリした文章を編集する事は自分はないので、もしこんな機能があればちょっといいなと思っていたのですが。
自分でプラグインを作るほどの力は無いので、今回は諦めようかと思います。

ありがとうございました(^^)

ーーーーーーーーーーーーーーーーー
http://www.canpassnotes.net

トップに戻る

藤咲
モデレーター
モデレーター


登録日: 2003.11.17
記事: 1164
所在地: 広島

記事 日時: 2004.09.02 (木) 13:53   記事の件名: Re: ありがとうございます
引用付きで返信

gawa wrote:
一度エントリした文章を編集する事は自分はないので、もしこんな機能があればちょっといいなと思っていたのですが。
自分でプラグインを作るほどの力は無いので、今回は諦めようかと思います。

遅かったかも?練習としてはちょうどいいかなと思って作ってみました。
以下をNP_ItemNumber.phpという名前で保存し、インストールしてください。
【書式】
テンプレートに記述します。
<%ItemNumber(モード,ブログ指定)%>
モード:記事idで見るか、時間で見るかの指定。省略するか、「time」を入力
ブログ指定:どのブログで何番目かを指定。省略すると現在のブログ。「all」で全ブログから、ブログidを指定することも可。複数ブログの場合は/で区切る。

例:オプションなし
<%ItemNumber%>
現在のブログで何番目に投稿された記事かという数字が返ります。
idでソートしますので何番目の投稿かどうかをカウントできると思います。
(ただしドラフトもカウントすると思われます…)

例:時間モード
<%ItemNumber(time)%>
現在のブログで何番目に投稿された記事かという数字が返ります。
こちらは時間で見ますので過去の投稿をすると順番が変わります。

例:全ブログモード
<%ItemNumber(,all)%> (,が入ってることに注意)
すべてのブログで何番目に投稿された記事かという数字が返ります。
(time,all)とすると全ブログから時間モードで何番目かという数字を返します。

例:ブログ指定モード
<%ItemNumber(,1/2)%>
ブログID1と2のブログで何番目に投稿された記事かという数字を返します。
ブログIDが複数のときは例のように/で区切ります。

Code:

<?php
// plugin needs to work on Nucleus versions <=2.0 as well
if (!function_exists('sql_table')){
   function sql_table($name) {
      return 'nucleus_' . $name;
   }
}

class NP_ItemNumber extends NucleusPlugin {
   function getEventList() { return array(); }
   function getName() { return 'ItemNumber'; }
   function getAuthor() { return 's.fjsk'; }
   function getURL() { return 'http://fjsk.s39.xrea.com/'; }
   function getVersion() { return '0.1'; }
   function getDescription() {
      return 'item Counter. &lt;%ItemNumber(all,11/15)%&gt;';
   }
   function supportsFeature($what) {
      switch($what){
         case 'SqlTablePrefix':
            return 1;
         default:
            return 0;
      }
   }

   function doTemplateVar(&$item, $cmode = "", $countblog = ''){
      global $manager;
      $itemid = $item->itemid;
      $itemtime = date('Y-m-d H:i:s',$item->timestamp);
      $sql = 'select count(*) as cnt from '.sql_table('item').' where';
      if($cmode == 'time'){
         $sql .= ' itime <= "'.$itemtime.'"';
      }else{
         $sql .= ' inumber <= "'.$itemid.'"';
      }
      switch ($countblog){
         case "all" :
            $sql .= '';
            break;
         case "" :
            $sql .= ' and iblog = '.getBlogIDFromItemID($itemid);
            break;
         default :
            $cblogs = explode('/', $countblog);
            if(!$cblogs[1]){
               $sql .= ' and iblog = '.$cblogs[0];
            }else{
               $sql .= ' and (iblog = '.$cblogs[0];
               for($s=1;$s<count($cblogs);$s++){
                  $sql .= ' or iblog = '.$cblogs[$s];
               }
               $sql .=')';
            }
         }
      $rs = mysql_query($sql);
      $numarry =mysql_fetch_object($rs);
      $num = $numarry -> cnt;
      echo $num;
   }
}
?>

_________________
藤咲
備忘録とかもろもろ
http://fjsk.tk/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
cha_cya



登録日: 2004.08.25
記事: 735
所在地: 東京

記事 日時: 2005.06.15 (水) 16:30   記事の件名:
引用付きで返信

「現在表示しているカテゴリーの中で、何番目か」を表示したく、改造してみました。
ぱっと見うまくいっているようですので、情報共有の意味で書き込みます。
Quote:
function doTemplateVar(&$item, $cmode = "", $countblog = ''){
global $manager;
$itemid = $item->itemid;
$catid = $item->catid;

Quote:
case "" :
$sql .= ' and iblog = '.getBlogIDFromItemID($itemid);
$sql .= ' and icat = '.$catid;
break;

赤字の2箇所を追加しました。
全ブログでの順番を出したい場合は処理不要と考え、手をつけていません。

テスト十分ではないかもしれませんし、マニュアル見ながらで自信も無いため、識者の方アドバイスいただけると幸いです。
#試していただける方で、不具合があればそれもぜひ Smile

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
canpassnotes



登録日: 2006.03.30
記事: 6

記事 日時: 2006.04.02 (日) 18:09   記事の件名: ありがとうございます!
引用付きで返信

トピックを作成しましたgawaです。

2年ほど前にNucleusでサイトを運営して、1年前からはMovable Typeに移行していたのですが、
今回からまたNucleusでブログ運営を再開しました。

で、久しぶりにこちらのトピックを見てみたら、
なんとプラグインを作成してくださった方がいて本当にビックリしました。
早速使わせていただき、無事に動作する事ができました。

カテゴリ別のアイテム番号表示も素晴らしいですね!
これでNucleusでやりたかった事ができます。本当に嬉しいです!

プラグインを作成・公開してくださった藤咲さん、
さらにカスタマイズしてカテゴリ別表示方法を教えてくださったCha_Cyaさんに本当に感謝します。
ありがとうございました。

Cha_Cyaさんのカスタマイズ方法で、こちらも無事動作しています。
自分のサイト(http://www.canpassnotes.net)のアイテムページ左上に表示させていますので、ぜひご確認してみてください。


ずっとMovable Typeに浮気していましたが、やっぱりNucleusの方が安定&ラクラクですね!

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
Andy
モデレーター
モデレーター


登録日: 2004.03.18
記事: 1490
所在地: 横浜

記事 日時: 2006.04.02 (日) 22:37   記事の件名:
引用付きで返信

canpassnotesさん,スキンかっこいいですね!
1年半ぶりのご帰還,ありがとうございます。 Very Happy
1年半前と比べるとみなの経験値もずいぶん上がっているし,
プラグインも数え切れないくらいいろいろなものが出ているような気がします。
また,よろしくお願いします。

_________________
Foodyn CMS開発日誌
http://www.matsubarafamily.com/lab/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
新しいトピックを投稿 トピックに返信
特定期間内の記事を表示:   

Page 1 of 1

All times are GMT + 9 Hours

移動先:  

新規投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
投票参加: 不可
ファイル添付不可
ダウンロード:

Powered by phpBB © 2001, 2002 phpBB Group