この記事で実装されている関数:
箇条書きボックスを表示するかどうかを制御する
前の記事 discuz は自動登録とログインを実装します。しかし、私たちはそのような即座のメッセージが表に出ることを望んでいません。
ネットでちょっと調べてみると、背景も設定できるとの記載があったのですが、裏を見てみると特定の固定シーンのみの設定になっていました。
次に、プロジェクトに適した表示メソッドを記述します。
しばらく使ったことがある人 discuz フロント デスクは、ポップアップ ボックスが実際にはバックグラウンドの showmessage
メソッドによって決定されることを認識しています。
コードを使用して、このメソッドが upload/source/function/function_core.php
ファイルの 1424 行目あたりにあることをトレースしました
次に、dshowmessage
このメソッドを追跡します
このメソッドの最終ファイルは、upload/source/function/function_message.php
ここにあります
その後、コードを最後までプルすると、show_messge
の変数と
At に読み込まれたテンプレート アドレスが表示されます。今回は、このテンプレートの場所を見つけます: upload/template/default/touch/common/showmessage.htm
このテンプレートには、変数 show_message
が表示されます。 。
テンプレートの show_message と PHP ファイルの show_message が一致していることを確認するために、テストを実行しましょう
修正: upload /source/function/function_message.php
238 行目
次に、ページ上の結果をテストします。問題はありません。 2 つの変数は一貫しています
上記のテストの後、upload/source/function/function_message.php ファイルが238 行目の show_message は、テンプレート Upload/template/default/touch/common/showmessage.htm の show_message と一致しています。
次に、変数を宣言します。独自のスタイルを表示したい場合は、変数を宣言して、テンプレート内で制御します。
以下は KaKa の場合です。この要件が必要です。KaKa Ka のソリューションは問題を 100% 解決できます。
このコードは、ユーザーが登録されているかどうかを判断し、登録されている場合は直接ログインします。 (ここで心配する必要はありません。Kaka のケースは元のシステムからのものです。)
showmessage に is_login という新しい変数を追加したことがわかります。値は 1
##この値をテンプレートで使用する必要があるため、それに倣って、upload/source/function/function_message.php ファイルで is_login をグローバル変数として宣言しましょう
この値を使用して、upload/template/default/touch/common/showmessage.htm テンプレートで使用できます。
これで十分な場合は、これに自分を追加します
#upload/source/function/function_message.php テンプレートの 239 行目には、エントリを制御する特に簡単な方法があります。
##それでは、現時点で何をしなければならないのか!このテンプレートを構築するだけです。
showmassge ファイルを Upload/template/default/touch/common ディレクトリにコピーします。
まだまだ他の場所で見つかるはずです
まとめてみるとこの記事の内容 すべてのファイルを変更したら完了です。独自に定義したテンプレートを使用したい場合は、それを直接使用できます。
is_login はカスタム テンプレートの識別子です
showmessage('login_succeed', 'forum.php',['username'=>$username,'is_login'=>1],array('showdialog' => 1));
以上がdiscuz が箇条書きボックスの表示を個別に制御する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。