*MenuBar にも通常ページにも設置するプラグインを [#a9864854]

-ページ: BugTrack
-投稿者: [[みすく]]
-優先順位: 低
-状態: 完了
-カテゴリー: プラグイン
-投稿日: 2005-02-07 (月) 06:58:37
-バージョン: 

**メッセージ [#r9b75824]
作ろうとしているのですが、MenuBar におかれているということを
判断するような方法はありますでしょうか?
それによって少し動作を変えたいと思っています。

----
-脊髄反射 --  &new{2005-02-07 (月) 18:15:16};
 <?php
 function plugin_hoge_convert()
 {
 	global	$body;
 
 	return $body ? 'MenuBar': 'PageBody';
 }
 ?>
-こんにちは :) どうしたもんでしょうね。上記のハックは、本文とMenuBarの出力順が逆にならない限りそこそこうまく動きそうですね (^^; -- [[henoheno]] &new{2005-02-07 (月) 21:06:31};
--globalな$bodyは、スキン(においてplugin_menu_convert())が実行されるよりも前に確定していますから、出力順は関係無いと思いますが。 --  &new{2005-02-07 (月) 21:44:18};
-- お (^^; じっとソースを見る。確かにそうですね。失礼しました (^^; ((tDiaryスキンの正規表現による処理とごっちゃにしていたらしいです)) ということはファイナルアンサー? -- [[henoheno]] &new{2005-02-07 (月) 23:17:19};
-お、できました。$body という変数は通常ページの場合 true で MenuBar で表示される場合は false になる変数ということでいいんですよね?ちょっとどこで定義されているのかわかりませんでした。スキン?いきなり echo $body か・・・。うーん? -- [[みすく]] &new{2005-02-08 (火) 18:16:43};
--[[cvs:lib/pukiwiki.php]]参照。通常のページで空なのは当然です。 --  &new{2005-02-08 (火) 18:31:31};
-- うーん、とにかく MenuBar で表示される場合は本文のほうの html が入ってくるようですね。ありがとうございました。#なにがなにやら。なぜ MenuBar では $body が使えるのかここだけじゃわからないですよね?-- [[みすく]] &new{2005-02-08 (火) 19:34:08};
--?何故分かりませんか?プラグインのaction処理、又はページソースのconvert_htmlが完了するまでは未定義 → 処理の結果(=ページ部のHTML)が$bodyに格納される → スキンでplugin_menu_convert()によりMenuBar部のHTMLが生成・出力 という流れです。
与えられたポインタから後を追わないで、「わからないですよね」と言われても…&worried; --  &new{2005-02-08 (火) 20:25:04};
--スキンがどこでよびだされているのかわかりません。ちなみに言葉尻をとってもしょうがないのですが、わからないですよね''?''なのでそんな気がした程度のニュアンスです。まだ良く見てないと。しかも # 付きで書いたのは PS. ぐらいのあまり気にしないでいいよというニュアンスです。-- [[みすく]] &new{2005-02-08 (火) 20:38:48};
--ここでPHP講座をやるのは適当でありませんし、私の能力を超えます。&worried; --  &new{2005-02-08 (火) 20:41:13};
--あー catbody = スキンか。納得。元々そこまで読むつもりはなかったんですどね。すでに完了にしてましたし。とにもかくにもありがとうございました。#PHP講座というかPukiwiki講座ですねw -- [[みすく]] &new{2005-02-08 (火) 20:49:56};
-return $body のかわりに retun isset($body) はどうだろう思ってきた今日このごろです (すいません例によってあまり考えていません) -- [[henoheno]] &new{2005-02-08 (火) 22:40:06};
-- いかん。手を動かさねば。ということで確認しました。isset($body) としておくのが意図が示せて良さそうです。(つづかない) -- [[henoheno]] &new{2005-02-08 (火) 22:43:38};

#comment
//#comment

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

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.058 sec.

OSDN