2012-02-19 5 views
0

正常に登録された新規メンバーのポップアップウェルカムメッセージを作成したいと思います。Phpbb新規会員登録ポップアップウィンドウ

しかし、私はコードをどこに置くべきかを知る上で問題がありますが、私はucp_register.htmlをチェックしましたが、メンバーが正常に登録された後に表示されるとは思いません。ありがとう

+0

ユーザーが登録すると、iircはtrigger_error()の出力を表示します。その関数が出力するテンプレートファイルはmessage_body.html iircですが、他の場所で使用されているため、ポップアップを表示する前に登録モジュールに入っているかどうかを確認する必要があります。アカウントを有効にした後で何かを表示したい場合も同じです。 – imkingdavid

+0

これを達成するためにjQuery UIダイアログを使用してみませんか?あなたはいつもtrigger_error()の中でスクリプトタグを '$ message = ' '; trigger_error($ message); 'overall_header.htmlには'​​'があります –

答えて

0

ユーザがアクティブになったユーザとして初めてログインしたときにポップアップを表示するためのより堅牢なソリューションになる可能性が高い - 登録後にアクティブにならないかもしれないし、登録。見つけ、のfunctions.phpで

これを行うには

方法は、列を(たとえば、データベース内のテーブルphpbb_usersuser_JBL_seen_message INT、その列をチェックするためのfunctions.phpを変更、追加することです

// The following assigns all _common_ variables that may be used at any point in a template. 

追加し、前:後

if($user->data['is_registered'] && $user->data['is_active'] && !$user->data['is_bot']) 
{ 
    if(isset($user->data['user_JBL_seen_message']) && !$user->data['user_JBL_seen_message'])) 
    { 
     $showPopup = true; 
     $sql = 'UPDATE ' . USERS_TABLE . ' SET user_JBL_seen_message = 1 
      WHERE user_id = ' . (int)$user->data['user_id']; 
     if (!$result = $db->sql_query($sql)) 
     { 
      return false; 
     } 
    } 
} 

、見つける:

$template->assign_vars(array(

追加し、後:あなたがしたくない場合は、

'JBL_POPUP'  => $showPopup, 

、あなたは適切な...

<!-- IF JBL_POPUP --> 
    .... your HTML popup code here..... 

<!-- END IF --> 

あなたoverall_header.htmlテンプレートファイルにポップアップHTMLコードを追加することができます既存のユーザーがポップアップを表示し、新しい列に1を入力します。

また、ダミアンがポップアップではなくjQuery UIダイアログを使用することに同意します。ほとんどのユーザーのブラウザはポップアップをブロックします。ただし、noconflictモードでjQueryを使用すると、他のmodとの競合を避けることができます。

関連する問題