**[[質問箱3/246]] [#id3c93e9]
#author("2018-03-11T16:06:42+09:00;2010-12-28T01:48:02+09:00","","")
**[[質問箱/3246]] [#id3c93e9]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|MenuBarにページの一覧を表示したい|
|~バージョン|1.4.6|
|~投稿者|[[カッケ]]|
|~状態|完了|
|~投稿日|&new{2005-11-06 (日) 15:19:19};|
***質問 [#e91c2b8d]
基本的な使い方だと思うのですが、よく意味が理解できないので質問させてください。

現在左のmenubarにサイトメニューという見出しを作って、そこの下にメニューの項目を作って行こうと考えています。

そこでmenubar内のサイトメニューという見出しの下に項目?ページを作ろうと思って、トップから新規に作成を行い記事を書くのですが、すべて「最新の20件」という所に記事が入ってしまします。

これは自分でmenubarに直接一回,一回書き込まないといけないのでしょうか?ちなみに現在はサイトメニューと書いてある見出しの下には

'TOP' には、下位層のページがありません。

という表示が出ているだけです。
どなたか使い方を教えていただけ無いでしょうか?
宜しくお願いします。

***回答 [#i874a7a1]
- どのようなことを行おうとしているのかわかりませんが、プラグインを使う場合でも個別に追加する場合でも MenuBarを編集しなければ勝手に作られることはありません。「最新の20件」というのはその名の通り、編集されたページを新しい順に20件表示するものです。(これもMenuBarにそうするように書いてあるので表示されているわけです。単語検索でMenuBarを調べてみるといろいろわかると思います。またサマリには質問内容がわかるように書きましょう。 --  &new{2005-11-06 (日) 16:27:00};
- でも、僕もMenubarの使い方がよく分からないです…。今、新規に作ったページを左側のMenubarに「メニューとして」表示させたい場合にはどうすればいいんでしょうか?何もしないと「最新の20件]に表示されるだけなんです。 -- [[Aki]] &new{2005-11-10 (木) 10:49:52};
- 新規にページを作成した場合はその新規のページを左側のメニューに表示させる為に自分でMenubarを編集してメニューを追加するのでしょうか…? -- [[Aki]] &new{2005-11-10 (木) 10:54:52};
- [[MenuBar]]というページのソースを見てみれば分かると思います。 --  &new{2005-11-10 (木) 11:01:03};
- ちなみに「MenuBar」は大文字小文字の区別がされますので、「menubar」や「Menubar」では編集することができても、左側に反映されませんよ。 -- [[774]] &new{2005-11-10 (木) 12:58:07};
- 先程質問させて頂いた者です。PukiWiki1.4.6で[http://wiki.na7.info/]ここまで作ったのですが、これからコンテンツを追加するとした場合に、新規にページを追加した後、左側のMenuBarにその追加したページをメニューとして追加するには、自分でMenuBarを編集するという事でよろしいのでしょうか?要は新規にページを作った場合に、自動的にMenuBarに追加されてゆく仕組みはないのでしょうか?お手数をおかけします… -- [[Aki]] &new{2005-11-10 (木) 15:35:19};
-- 自動で追加は''たぶん''ないと思います。ので、↓みたいなの作ってみました。(あまりテストはしていませんので、自己責任でお願いします。((一応、PHP5, 4.4, 4.3では動きました。)))list.inc.phpに追加してください。#listで一覧が呼び出されます。ページ数が多くない時は有効かもしれません。 -- [[0]] &new{2005-11-10 (木) 17:26:33};

 // 一覧取得
 function plugin_list_convert() {
 	global $non_list;
 	global $defaultpage, $whatsnew, $whatsdeleted, $interwiki, $menubar;
 
 	$list = new plugin_list_class;
 
 	if ($list->r_time > $list->l_time) {
 	$non_page = array(
 				$defaultpage,
 				$whatsnew,
 				$whatsdeleted,
 				$interwiki,
 				$menubar
 			);
 		$pages = get_existpages();
 		$pages = array_diff($pages, preg_grep('/' . $non_list . '/', $pages), $non_page);
 		return $list->make($pages);
 	} else {
 		return $list->read();
 	}
 }
 
 class plugin_list_class
 {
 	var $l_file, $l_time; // list   => l_
 	var $r_file, $r_time; // recent => r_
 
 	function plugin_list_class() {
 		$this->l_file = CACHE_DIR . 'list.dat';
 		$this->r_file = CACHE_DIR . 'recent.dat';
 		$this->l_time = filemtime($this->l_file);// - LOCALZONE;
 		$this->r_time = filemtime($this->r_file);// - LOCALZONE;
 	}
 
 	function make(& $pages) {
 		$str  = '<ul>' . "\n";
 		foreach($pages as $page) {
 			$str .= '<li>' . make_pagelink($page) . '</li>' . "\n";
 		}
 		$str .= '</ul>';
 		$this->write($str);
 		return $str;
 	}
 
 	function write($str) {
 		$fp = fopen($this->l_file, "wb");
 		fwrite($fp, $str);
 		fclose($fp);
 	}
 
 	function read() {
 		if (file_exists($this->l_file) && is_readable($this->l_file)) {
 			$str = '';
 			$fp = fopen($this->l_file, "rb");
 			while (! feof($fp)) {
 				$str .= fread($fp, 8192);
 			}
 			fclose($fp);
 		} else {
 			$str = '<p>#list : error.</p>';
 		}
 		return $str;
 	}
 }
- 少し横長ですね (^^; 横スクロールが出たらごめんなさい。(たぶん出ると思います。) -- [[0]] &new{2005-11-10 (木) 17:31:33};
- 素早い返信ありがとうございます。組み込んでみました!すごいですね!(^.^)使い方はあってるでしょうか… -- [[Aki]] &new{2005-11-10 (木) 17:44:13};
- 合ってます :) ただ、初期状態のページがリストに出ることは想定してませんでした (^^; ((初期ページで残っているのは:configくらい)) ちょっと追加行です↓。トップにしかメニューが出ないようになってるみたいなので不要かもしれませんが…。 -- [[0]] &new{2005-11-10 (木) 18:41:55};

 				$menubar,
 +				'SandBox'  // 同名のファイルのみ一覧に表示しない
 			);
 +		$non_list2 = array(// 正規表現
 +			'^InterWiki',
 +			'^PukiWiki\/1\.4'
 +		);
 +		$non_list = '(' . implode('|', $non_list2) . '|' . $non_list . ')';
 		$pages = get_existpages();
-- ごめんなさい。↑の意味(+記号とか…)がよくわからないのですが…、教えて頂けないでしょうか。初心者で申し訳ありません。。。 -- [[Aki]] &new{2005-11-10 (木) 18:47:53};
- “pukiwiki.ini.php”の“$non_list”に追加でも良いんですが、このプラグインのみ表示しないようにしたい場合はこの方法で。((関数の中に書き加えていくのは行儀が悪いですが)) -- [[0]] &new{2005-11-10 (木) 18:48:08};
- 差分ファイル(diff)((ファイルの変更点を書き出したもの))の書き方の一種です。“+” が追加された行、“-”が削除された行という意味です。(今回“-”はありませんが)PukiWikiのサイトを見ていると良く見かけることになると思いますよ :) -- [[0]] &new{2005-11-10 (木) 18:54:09};
- ありがとうございます。+記号の部分を追加してみました。いい感じです(^.^)。 -- [[Aki]] &new{2005-11-10 (木) 18:55:23};
- [[質問箱4/503]] --  &new{2010-12-28 (火) 01:47:51};
- [[質問箱/4503]] --  &new{2010-12-28 (火) 01:47:51};

//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2021 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.117 sec.

OSDN