Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2007-07-19 15:12:45

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: ID番号について質問です。

あの~
ShowBlogsとかを設定していてふと思ったんですが、皆さんはカテゴリIDやアイテムIDってどうやって確認していますか?
ブログIDは管理画面で確認できますけど、カテゴリやアイテムって確認できないですよねぇ?「確認できると便利だな~」と思いつつ、私はDBを直接たたいて確認してるんですけど・・・

良かったら教えてください big_smile


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

#2 2007-07-19 15:20:59

yama
Administrator
登録日: 2005-07-07
投稿: 1,277
ウェブサイト

Re: ID番号について質問です。

カテゴリーはBlog設定のカテゴリー編集画面で、「削除」や「編集」にオーバーマウスすると
ブラウザのステータスバーにcatid込みのURLが表示されるのでそれを見てます。
アイテムも同様で、アイテムの編集削除、つまりアイテム一覧の画面で「編集」「移動」「削除」
あたりにオーバーマウスですねー。
っていうか、IDが分からないと不便ですよね。みんなこんなふうにしてるのでしょうか。汗

オフライン

#3 2007-07-19 16:09:03

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: ID番号について質問です。

yamaさん
コメントありがとうございます smile
編集 or 削除にマウスオーバーですか。気がつかなかったっす(滝汗)
それでも面倒なので、目で見えるような方法があると便利な気がしますね~ tongue


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

#4 2007-07-20 11:25:08

cha_cya
メンバー
From: 東京
登録日: 2004-08-25
投稿: 745

Re: ID番号について質問です。

私は<%if%>を使ってBlogチームなら/ログインしていれば/etc.見えるように、テンプレートやスキンに記載しています。
最近管理画面開いてませんがコアの機能だけだとテンプレートでif使えなかったかも?(覚えていません)

<%title%><%if(loggedin)%><%itemid%><%else%><%endif%>
こんなかんじで・・(上記は適当です)

オフライン

#5 2007-09-01 06:37:53

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: ID番号について質問です。

コアの変更は本家のチームに任せることにして、それまでのつなぎとして管理画面でIDを表示するプラグインを書いてみました。こんなので、どうでしょ?

<?php 
class NP_ShowID extends NucleusPlugin { 
	function getName() { return 'NP_ShowID'; }
	function getMinNucleusVersion() { return 220; }
	function getAuthor()  { return 'Katsumi'; }
	function getVersion() { return '0.1'; }
	function getURL() {return 'http://japan.nucleuscms.org/bb/viewtopic.php?t=3501';}
	function getDescription() { return $this->getName().' plugin'; } 
	function supportsFeature($what) { return ($what=='SqlTablePrefix')?1:0; }
	function getEventList() { return array('AdminPrePageHead','AdminPrePageFoot'); }
	var $actions=array('overview','blogsettings','itemlist','blogcommentlist','itemcommentlist');
	var $ob_ok=false;
	function event_AdminPrePageHead(&$data){
		if (in_array($data['action'],$this->actions)) $this->ob_ok=ob_start();
	}
	function event_AdminPrePageFoot(&$data){
		if (!$this->ob_ok) return;
		$html=ob_get_contents();
		ob_end_clean();
		echo call_user_func(array(&$this,$data['action']),&$html);
	}
	function overview(&$html){
		$html=str_replace('<tr><th>'._NAME.'</th>','<tr><th>ID</th><th>'._NAME.'</th>',$html);
		$html=preg_replace('/<td title=\'blogid:([0-9]+) shortname:/','<td>$1</td><td title=\'blogid:$1 shortname:',$html);
		return $html;
	}
	function blogsettings(&$html){
		$html=str_replace("<th>"._LISTS_NAME."</th><th>"._LISTS_DESC."</th><th colspan='2'>"._LISTS_ACTIONS."</th>",
			"<th>ID</th><th>"._LISTS_NAME."</th><th>"._LISTS_DESC."</th><th colspan='2'>"._LISTS_ACTIONS."</th>",$html);
		$html=preg_replace('/<td><input type="checkbox" id="batch([0-9]+)" name="batch\[([0-9]+)\]" value="([0-9]+)" \/>/',
			'<td>$3</td><td><input type="checkbox" id="batch$1" name="batch[$2]" value="$3" />',$html);
		return $html;
	}
	function itemlist(&$html){
		$html=preg_replace('/<\/td><td[\s]?><input type="checkbox" id="batch([0-9]+)" name="batch\[([0-9]+)\]" value="([0-9]+)" \/>/',
			'<br />ID: $3</td><td><input type="checkbox" id="batch$1" name="batch[$2]" value="$3" />',$html);	
		return $html;
	}
	function blogcommentlist(&$html){
		return $this->itemlist($html);
	}
	function itemcommentlist(&$html){
		return $this->itemlist($html);
	}
}
?>

オフライン

#6 2007-09-01 08:42:42

yumi saiki
メンバー
From: 大阪府高槻市
登録日: 2007-07-27
投稿: 118
ウェブサイト

Re: ID番号について質問です。

これをこのまま入れたらエラーになりました。…

何かやらないといけあいのですか?


yumi saiki
今日も勉強しました!
************************
教えてください。よろしくお願いします。

オフライン

#7 2007-09-01 09:45:55

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: ID番号について質問です。

すばらしい。完璧でございます。Multiple Categoriesでも表示されると最強です…。

yumi saiki さんの発言:

これをこのまま入れたらエラーになりました。…

コードの<?php ~ ?> までをコピーしてNP_ShowID.phpという名前で保存(大文字小文字も正確に)。
アップロードしてインストールでうまくいきませんでしたか?


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

オフライン

#8 2007-09-01 09:56:50

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: ID番号について質問です。

あ、あとメンバーIDも欲しいかもです! big_smile


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

オフライン

#9 2007-09-01 11:25:21

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: ID番号について質問です。

すげぇ・・・
完璧です。これでずいぶんと楽になります!

管理画面もプラグインで操作できるんですね・・・勉強になりました :!:


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

#10 2007-09-01 11:44:11

yumi saiki
メンバー
From: 大阪府高槻市
登録日: 2007-07-27
投稿: 118
ウェブサイト

Re: ID番号について質問です。

ばっちりできました。 これは定番のプラグインですね。 楽になりました!!

こんなの作れるなんてスゴイ! 偉い! 尊敬します。


yumi saiki
今日も勉強しました!
************************
教えてください。よろしくお願いします。

オフライン

#11 2007-09-02 05:51:11

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: ID番号について質問です。

藤咲 さんの発言:

あ、あとメンバーIDも欲しいかもです! big_smile

メンバーIDは、簡単に入れられそうです。2−3日、待ってください。

MultipleCategory に付いては、このプラグインで処理するより、改訂版の MultipleCategory に実装した方がすっきりすると思いますが、どうでしょう。

オフライン

#12 2007-09-02 06:10:25

yama
Administrator
登録日: 2005-07-07
投稿: 1,277
ウェブサイト

Re: ID番号について質問です。

こんなこともプラグインでできるのですね。便乗で提案いいですか?笑
(IDの表示とは違う話ですが。。)

添付の画像の
1をクリック→ nucleus/index.php?action=blogsettings&blogid=1 へ
2をクリック→ nucleus/index.php?action=categoryedit&blogid=1&catid=1 へ
3をクリック→ nucleus/index.php?action=memberedit&memberid=1 へ

…みたいなことって、可能でしょうか?
こんな感じにできると、直感的な管理操作ができて便利そうに思います。


Attachments:
png itemlist.png, Size: 6.02 KiB, Downloads: 15,919

オフライン

#13 2007-09-02 07:11:56

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: ID番号について質問です。

新しいバージョンをアップしようとしていたところです。

yama.kyms さんの発言:

…みたいなことって、可能でしょうか?
こんな感じにできると、直感的な管理操作ができて便利そうに思います。

itemid の取得は出来ているので、preg_replace_callback を使えば出来ないことは無いのですが、アイテムごとに SQL クエリーを発行して、ブログID,カテゴリID,メンバーIDを取得する必要があるのでかなり重くなると思います。ここまでするには、やはりコアの変更の方がいいですネ。

で、メンバーIDに対応したバージョンを作りました。

<?php 
class NP_ShowID extends NucleusPlugin { 
	function getName() { return 'NP_ShowID'; }
	function getMinNucleusVersion() { return 330; }
	function getAuthor()  { return 'Katsumi'; }
	function getVersion() { return '0.1.1'; }
	function getURL() {return 'http://japan.nucleuscms.org/bb/viewtopic.php?t=3501';}
	function getDescription() { return $this->getName().' plugin'; } 
	function supportsFeature($what) { return ($what=='SqlTablePrefix')?1:0; }
	function getEventList() { return array('AdminPrePageHead','AdminPrePageFoot'); }
	var $actions=array('overview','blogsettings','itemlist','blogcommentlist','itemcommentlist','usermanagement');
	var $ob_ok=false;
	function event_AdminPrePageHead(&$data){
		if (in_array($data['action'],$this->actions)) $this->ob_ok=ob_start();
	}
	function event_AdminPrePageFoot(&$data){
		if (!$this->ob_ok) return;
		$html=ob_get_contents();
		ob_end_clean();
		echo call_user_func(array(&$this,$data['action']),&$html);
	}
	function overview(&$html){
		$html=str_replace('<tr><th>'._NAME.'</th>','<tr><th>ID</th><th>'._NAME.'</th>',$html);
		$html=preg_replace('/<td title=\'blogid:([0-9]+) shortname:/','<td>$1</td><td title=\'blogid:$1 shortname:',$html);
		return $html;
	}
	function blogsettings(&$html){
		$html=str_replace("<th>"._LISTS_NAME."</th><th>"._LISTS_DESC."</th><th colspan='2'>"._LISTS_ACTIONS."</th>",
			"<th>ID</th><th>"._LISTS_NAME."</th><th>"._LISTS_DESC."</th><th colspan='2'>"._LISTS_ACTIONS."</th>",$html);
		$html=preg_replace('/<td><input type="checkbox" id="batch([0-9]+)" name="batch\[([0-9]+)\]" value="([0-9]+)" \/>/',
			'<td>$3</td><td><input type="checkbox" id="batch$1" name="batch[$2]" value="$3" />',$html);
		return $html;
	}
	function usermanagement(&$html){
		$html=str_replace('<th>' . _LIST_MEMBER_NAME . '</th><th>' . _LIST_MEMBER_RNAME . '</th><th>' . _LIST_MEMBER_URL . '</th><th>' . _LIST_MEMBER_ADMIN,
			'<th>ID</th><th>' . _LIST_MEMBER_NAME . '</th><th>' . _LIST_MEMBER_RNAME . '</th><th>' . _LIST_MEMBER_URL . '</th><th>' . _LIST_MEMBER_ADMIN,$html);
		$html=preg_replace('/<td><input type="checkbox" id="batch([0-9]+)" name="batch\[([0-9]+)\]" value="([0-9]+)" \/>/',
			'<td>$3</td><td><input type="checkbox" id="batch$1" name="batch[$2]" value="$3" />',$html);
		return $html;
	}
	function itemlist(&$html){
		$html=preg_replace('/<\/td><td[\s]?><input type="checkbox" id="batch([0-9]+)" name="batch\[([0-9]+)\]" value="([0-9]+)" \/>/',
			'<br />ID: $3</td><td><input type="checkbox" id="batch$1" name="batch[$2]" value="$3" />',$html);	
		return $html;
	}
	function blogcommentlist(&$html){
		return $this->itemlist($html);
	}
	function itemcommentlist(&$html){
		return $this->itemlist($html);
	}
}
?>

少し様子を見て問題なければ、Wiki に上げます。

オフライン

#14 2007-09-02 20:19:35

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: ID番号について質問です。

Katsumi さんの発言:

で、メンバーIDに対応したバージョンを作りました。

ばっちりです。チームの編集画面では表示されませんが、そっちには必要ないかな…?

Multiple Categoriesの方はそうですね、Multiple Categoriesで行った方がいいですよね :oops:


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

オフライン

#15 2007-09-03 07:34:53

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: ID番号について質問です。

藤咲 さんの発言:

チームの編集画面では表示されませんが、そっちには必要ないかな…?

チームの編集画面に対応しました。

<?php 
class NP_ShowID extends NucleusPlugin { 
	function getName() { return 'NP_ShowID'; }
	function getMinNucleusVersion() { return 330; }
	function getAuthor()  { return 'Katsumi'; }
	function getVersion() { return '0.1.2'; }
	function getURL() {return 'http://japan.nucleuscms.org/bb/viewtopic.php?t=3501';}
	function getDescription() { return $this->getName().' plugin'; } 
	function supportsFeature($what) { return ($what=='SqlTablePrefix')?1:0; }
	function getEventList() { return array('AdminPrePageHead','AdminPrePageFoot'); }
	var $actions=array('overview','blogsettings','itemlist','blogcommentlist',
		'itemcommentlist','usermanagement','manageteam');
	var $ob_ok=false;
	function event_AdminPrePageHead(&$data){
		if (in_array($data['action'],$this->actions)) $this->ob_ok=ob_start();
	}
	function event_AdminPrePageFoot(&$data){
		if (!$this->ob_ok) return;
		$html=ob_get_contents();
		ob_end_clean();
		echo call_user_func(array(&$this,$data['action']),&$html);
	}
	function overview(&$html){
		$html=str_replace('<tr><th>'._NAME.'</th>','<tr><th>ID</th><th>'._NAME.'</th>',$html);
		$html=preg_replace('/<td title=\'blogid:([0-9]+) shortname:/','<td>$1</td><td title=\'blogid:$1 shortname:',$html);
		return $html;
	}
	function blogsettings(&$html){
		$html=str_replace("<th>"._LISTS_NAME."</th><th>"._LISTS_DESC."</th><th colspan='2'>"._LISTS_ACTIONS."</th>",
			"<th>ID</th><th>"._LISTS_NAME."</th><th>"._LISTS_DESC."</th><th colspan='2'>"._LISTS_ACTIONS."</th>",$html);
		$html=preg_replace('/<td><input type="checkbox" id="batch([0-9]+)" name="batch\[([0-9]+)\]" value="([0-9]+)" \/>/',
			'<td>$3</td><td><input type="checkbox" id="batch$1" name="batch[$2]" value="$3" />',$html);
		return $html;
	}
	function usermanagement(&$html){
		$html=str_replace('<th>' . _LIST_MEMBER_NAME . '</th><th>' . _LIST_MEMBER_RNAME . '</th><th>',
			'<th>ID</th><th>' . _LIST_MEMBER_NAME . '</th><th>' . _LIST_MEMBER_RNAME . '</th><th>',$html);
		$html=preg_replace('/<td><input type="checkbox" id="batch([0-9]+)" name="batch\[([0-9]+)\]" value="([0-9]+)" \/>/',
			'<td>$3</td><td><input type="checkbox" id="batch$1" name="batch[$2]" value="$3" />',$html);
		return $html;
	}
	function manageteam(&$html){
		return $this->usermanagement($html);
	}
	function itemlist(&$html){
		$html=preg_replace('/<\/td><td[\s]?><input type="checkbox" id="batch([0-9]+)" name="batch\[([0-9]+)\]" value="([0-9]+)" \/>/',
			'<br />ID: $3</td><td><input type="checkbox" id="batch$1" name="batch[$2]" value="$3" />',$html);	
		return $html;
	}
	function blogcommentlist(&$html){
		return $this->itemlist($html);
	}
	function itemcommentlist(&$html){
		return $this->itemlist($html);
	}
}
?>

オフライン

#16 2007-09-03 11:26:00

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: ID番号について質問です。

Katsumi さんの発言:

チームの編集画面に対応しました。

ありがとうございます。ばっちりでした。
ただ、先々としてはコアに取り込まれた方がいいプラグイン、という位置づけですよね。
#そもそも次のバージョンの予定はどうなってるんだろう…。


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

オフライン

#17 2007-09-05 07:24:35

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: ID番号について質問です。

藤咲 さんの発言:

ただ、先々としてはコアに取り込まれた方がいいプラグイン、という位置づけですよね。
#そもそも次のバージョンの予定はどうなってるんだろう…。

どうでしょうね。『コアに取り込まれた方がいい』と、『コアで実装するほうがコードが簡単』というのは違うので、『IDの表示は要らない』と思うユーザがどれくらいの割合かということが影響すると思います。もしコアに入れるとすると、オプションで表示・非表示を選択できるようにするとか。

オフライン

#18 2007-09-05 09:39:41

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: ID番号について質問です。

Katsumi さんの発言:

どうでしょうね。『コアに取り込まれた方がいい』と、『コアで実装するほうがコードが簡単』というのは違うので、『IDの表示は要らない』と思うユーザがどれくらいの割合かということが影響すると思います。

確かにNucleusのスタンスとしてはそうかなぁという気もしますね。
ただ「プラグインにするまでもない」気がするのと、「必要はないけどあっても困らない」という機能な気がするんですよね…。
難しいところかもしれません。


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

オフライン

Board footer