masa2さん、こんにちは。
お買いあげありがとうございます。
Quote:
新着PMのダイアログを出そうと思っているのですが、
どのファイルのどこに挿入すればいいのかわかりません。
お使いのテーマ内の theme.html です。
まず、リスト6-12をthme.htmlの冒頭に挿入します。
<{php}>
// new_messages に新着PM数をアサインする
global $xoopsUser ;
if( is_object( $xoopsUser ) ) {
$pm_handler =& xoops_gethandler('privmessage');
$criteria = new CriteriaCompo(new Criteria('read_msg', 0));
$criteria->add(new Criteria('to_userid', $xoopsUser->getVar('uid')));
$new_messages = $pm_handler->getCount($criteria) ;
$this->assign( 'new_messages' , $new_messages ) ;
if( empty( $_SESSION['new_messages'] ) ) $_SESSION['new_messages'] = 0 ;
if( $_SESSION['new_messages'] < $new_messages ) $this->assign( 'open_message_alert' , 1 ) ;
$_SESSION['new_messages'] = $new_messages ;
} else {
$this->assign( 'new_messages' , 0 ) ;
}
<{/php}>
次に、theme.htmlで、この部分を探します。
<script type="text/javascript">
<!--
<{$xoops_js}>
//-->
</script>
見つかったら、以下のように挿入します。
<script type="text/javascript">
<!--
<{$xoops_js}>
function xbook_onload(){
<{if $open_message_alert}>
alert("PMが届いています");
<{/if}>
}
//-->
</script>
あとは、<body>タグに、
を挿入するだけです。
こんにちは。便乗質問です。
私も、xoops customizing を購入し、新着pmのダイアログでつまずいているものです。
Googleで検索しこのスレッドに辿り着きました。
自分ではうまくいかず、ここに記載してあるとおりに行ったのですが、
http://www.market-gambler.com/になってしまいました。
上部に『onload="xbook_onload();"』の文字が出てきます。
これはこれでよろしいのでしょうか?
また、管理者権限でログインしており、その間にPMが届いた場合、一旦ログアウトして、再度別なユーザー名でログインしなおした場合、このメッセージは出てくるのでしょうか?
管理者で投稿しておき、そのメッセージボックスが出るかどうか?のテストでこのようなことを行っています。今回は出てきませんでした。
自分の挿入場所が悪いのか?このような仕様なのか?分からなく質問させていただいてます。
素人質問ですがよろしくお願いします。
<body>
onload="xbook_onload();"
は、
<body onload="xbook_onload();">
と思います。
この部分は、XHTMLの基本的な記述方法ですから、「
HTML4.0 仕様書」と「
XHTML 1.0: 拡張可能ハイパーテキストマークアップ言語」を参考されると良いと思います。