ページ: 1
あの~
ShowBlogsとかを設定していてふと思ったんですが、皆さんはカテゴリIDやアイテムIDってどうやって確認していますか?
ブログIDは管理画面で確認できますけど、カテゴリやアイテムって確認できないですよねぇ?「確認できると便利だな~」と思いつつ、私はDBを直接たたいて確認してるんですけど・・・
良かったら教えてください
Tucker
NucleusCMS 入門サイト計画中&アイデア募集中
オフライン
カテゴリーはBlog設定のカテゴリー編集画面で、「削除」や「編集」にオーバーマウスすると
ブラウザのステータスバーにcatid込みのURLが表示されるのでそれを見てます。
アイテムも同様で、アイテムの編集削除、つまりアイテム一覧の画面で「編集」「移動」「削除」
あたりにオーバーマウスですねー。
っていうか、IDが分からないと不便ですよね。みんなこんなふうにしてるのでしょうか。汗
オフライン
yamaさん
コメントありがとうございます
編集 or 削除にマウスオーバーですか。気がつかなかったっす(滝汗)
それでも面倒なので、目で見えるような方法があると便利な気がしますね~
Tucker
NucleusCMS 入門サイト計画中&アイデア募集中
オフライン
私は<%if%>を使ってBlogチームなら/ログインしていれば/etc.見えるように、テンプレートやスキンに記載しています。
最近管理画面開いてませんがコアの機能だけだとテンプレートでif使えなかったかも?(覚えていません)
<%title%><%if(loggedin)%><%itemid%><%else%><%endif%>
こんなかんじで・・(上記は適当です)
オフライン
コアの変更は本家のチームに任せることにして、それまでのつなぎとして管理画面で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);
}
}
?>
Nucleus-SQLite の配布は終了しました
VBScript / JScript で Win32API / 構造体 / コールバック関数: SFC mini
オフライン
これをこのまま入れたらエラーになりました。…
何かやらないといけあいのですか?
yumi saiki
今日も勉強しました!
************************
教えてください。よろしくお願いします。
オフライン
すばらしい。完璧でございます。Multiple Categoriesでも表示されると最強です…。
これをこのまま入れたらエラーになりました。…
コードの<?php ~ ?> までをコピーしてNP_ShowID.phpという名前で保存(大文字小文字も正確に)。
アップロードしてインストールでうまくいきませんでしたか?
藤咲
備忘録とかもろもろ
http://fjsk.tk/
オフライン
オフライン
すげぇ・・・
完璧です。これでずいぶんと楽になります!
管理画面もプラグインで操作できるんですね・・・勉強になりました :!:
Tucker
NucleusCMS 入門サイト計画中&アイデア募集中
オフライン
ばっちりできました。 これは定番のプラグインですね。 楽になりました!!
こんなの作れるなんてスゴイ! 偉い! 尊敬します。
yumi saiki
今日も勉強しました!
************************
教えてください。よろしくお願いします。
オフライン
あ、あとメンバーIDも欲しいかもです!
メンバーIDは、簡単に入れられそうです。2−3日、待ってください。
MultipleCategory に付いては、このプラグインで処理するより、改訂版の MultipleCategory に実装した方がすっきりすると思いますが、どうでしょう。
Nucleus-SQLite の配布は終了しました
VBScript / JScript で Win32API / 構造体 / コールバック関数: SFC mini
オフライン
こんなこともプラグインでできるのですね。便乗で提案いいですか?笑
(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 へ
…みたいなことって、可能でしょうか?
こんな感じにできると、直感的な管理操作ができて便利そうに思います。
オフライン
新しいバージョンをアップしようとしていたところです。
…みたいなことって、可能でしょうか?
こんな感じにできると、直感的な管理操作ができて便利そうに思います。
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 に上げます。
Nucleus-SQLite の配布は終了しました
VBScript / JScript で Win32API / 構造体 / コールバック関数: SFC mini
オフライン
で、メンバーIDに対応したバージョンを作りました。
ばっちりです。チームの編集画面では表示されませんが、そっちには必要ないかな…?
Multiple Categoriesの方はそうですね、Multiple Categoriesで行った方がいいですよね :oops:
藤咲
備忘録とかもろもろ
http://fjsk.tk/
オフライン
チームの編集画面では表示されませんが、そっちには必要ないかな…?
チームの編集画面に対応しました。
<?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);
}
}
?>
Nucleus-SQLite の配布は終了しました
VBScript / JScript で Win32API / 構造体 / コールバック関数: SFC mini
オフライン
チームの編集画面に対応しました。
ありがとうございます。ばっちりでした。
ただ、先々としてはコアに取り込まれた方がいいプラグイン、という位置づけですよね。
#そもそも次のバージョンの予定はどうなってるんだろう…。
藤咲
備忘録とかもろもろ
http://fjsk.tk/
オフライン
ただ、先々としてはコアに取り込まれた方がいいプラグイン、という位置づけですよね。
#そもそも次のバージョンの予定はどうなってるんだろう…。
どうでしょうね。『コアに取り込まれた方がいい』と、『コアで実装するほうがコードが簡単』というのは違うので、『IDの表示は要らない』と思うユーザがどれくらいの割合かということが影響すると思います。もしコアに入れるとすると、オプションで表示・非表示を選択できるようにするとか。
Nucleus-SQLite の配布は終了しました
VBScript / JScript で Win32API / 構造体 / コールバック関数: SFC mini
オフライン
どうでしょうね。『コアに取り込まれた方がいい』と、『コアで実装するほうがコードが簡単』というのは違うので、『IDの表示は要らない』と思うユーザがどれくらいの割合かということが影響すると思います。
確かにNucleusのスタンスとしてはそうかなぁという気もしますね。
ただ「プラグインにするまでもない」気がするのと、「必要はないけどあっても困らない」という機能な気がするんですよね…。
難しいところかもしれません。
藤咲
備忘録とかもろもろ
http://fjsk.tk/
オフライン
ページ: 1