MenuBar にも通常ページにも設置するプラグインを

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

メッセージ

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


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

*1 tDiaryスキンの正規表現による処理とごっちゃにしていたらしいです

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-02-08 (火) 22:43:38
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.165 sec.

OSDN