マイページに表示されているブロックからxoops_contentsか、xoops_module_headerにJavaScriptコードをassignしたいんですが、方法はありますか。
xoops_module_headerにassignしたとしても、xoops_module_headerを使っているモジュールのときはoverrideされてしまいますね。
よく説明できませんが、ブロックを隠したままにしておきたいんです。$block['content']では、ブロックタイトルとコンテンツ部分が表示されてしまいますし。自分のテーマを編集して何とか隠せることができたのですが、defaultテーマなどなら編集しなくてはいけません。
では、よろしくお願いします。
hi Yuji.
Quote:
マイページに表示されているブロックからxoops_contentsか、xoops_module_headerにJavaScriptコードをassignしたいんですが、方法はありますか。
xoops_module_headerにassignしたとしても、xoops_module_headerを使っているモジュールのときはoverrideされてしまいますね。
よく説明できませんが、ブロックを隠したままにしておきたいんです。$block['content']では、ブロックタイトルとコンテンツ部分が表示されてしまいますし。自分のテーマを編集して何とか隠せることができたのですが、defaultテーマなどなら編集しなくてはいけません。
う〜ん。また難しい質問ですね
もちろん、私自身、こういうパズルみたいな質問は大好きです
ただ、defaultテーマを利用して、ということなら、採れる手段は限られているんじゃないでしょうか。
一番ありがちなのは、ob_start('your_filter') で、<head></head>内に埋め込む方法です。
gusagiさんのcssadminとかは、参考になると思いますよ。
http://www.gusagi.com/あとは、ほとんど反則技に近いですが、templates_c 内のファイルを書き換えるとか。出力フィルターより軽いのがメリットです
defaultテーマでなくて良いのなら、ブロックに固有のidを振るようにするだけで、いつでもどこからでも自由にブロック全体のON/OFFができますね。
こんにちは
Quote:
一番ありがちなのは、ob_start('your_filter') で、<head></head>内に埋め込む方法です。
gusagiさんのcssadminとかは、参考になると思いますよ。
http://www.gusagi.com/
ピンポイントになりますが、レスさせて頂きます。
現在開発中のモジュールでは、css以外にjsファイルなどもブロックに関連付け出来るようにするつもりです。
ちょっと時間が掛かるかもしれませんが^^;
今日少し暇ができて、cssadminのコードをちょっと覗いてみて、簡単にできました。これで正しいのかな?
function phpstats_ob( $buf ) {
$buf = str_replace( '</head>',
'<script type="text/javascript" src="'.$xoopsModuleConfig['pscounter_url'].'/php-stats.js.php"></script><noscript><img src="'.$xoopsModuleConfig['pscounter_url'].'/php-stats.php" border="0" alt=""></noscript></head>',
$buf );
return $buf;
}
ob_start( "phpstats_ob" );
お二人に本当に感謝しています。