ホームページ  >  記事  >  CMS チュートリアル  >  discuz が箇条書きボックスの表示を個別に制御する方法

discuz が箇条書きボックスの表示を個別に制御する方法

咔咔
咔咔オリジナル
2020-05-04 00:41:382233ブラウズ

この記事で実装されている関数:

箇条書きボックスを表示するかどうかを制御する

関数の使用シナリオ

前の記事 discuz は自動登録とログインを実装します。しかし、私たちはそのような即座のメッセージが表に出ることを望んでいません。

ネットでちょっと調べてみると、背景も設定できるとの記載があったのですが、裏を見てみると特定の固定シーンのみの設定になっていました。

次に、プロジェクトに適した表示メソッドを記述します。

ポップアップ ボックスの実装の分析

しばらく使ったことがある人 discuz フロント デスクは、ポップアップ ボックスが実際にはバックグラウンドの showmessage メソッドによって決定されることを認識しています。

コードを使用して、このメソッドが upload/source/function/function_core.php ファイルの 1424 行目あたりにあることをトレースしました

discuz が箇条書きボックスの表示を個別に制御する方法

次に、dshowmessageこのメソッドを追跡します

このメソッドの最終ファイルは、upload/source/function/function_message.php ここにあります

その後、コードを最後までプルすると、show_messge の変数と

discuz が箇条書きボックスの表示を個別に制御する方法

At に読み込まれたテンプレート アドレスが表示されます。今回は、このテンプレートの場所を見つけます: upload/template/default/touch/common/showmessage.htm

このテンプレートには、変数 show_message が表示されます。 。

discuz が箇条書きボックスの表示を個別に制御する方法

テンプレートの show_message と PHP ファイルの show_message が一致していることを確認するために、テストを実行しましょう

修正: upload /source/function/function_message.php 238 行目

discuz が箇条書きボックスの表示を個別に制御する方法

次に、ページ上の結果をテストします。問題はありません。 2 つの変数は一貫しています

discuz が箇条書きボックスの表示を個別に制御する方法

独自の表示メソッドを実装します

上記のテストの後、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

discuz が箇条書きボックスの表示を個別に制御する方法
##この値をテンプレートで使用する必要があるため、それに倣って、upload/source/function/function_message.php ファイルで is_login をグローバル変数として宣言しましょう

discuz が箇条書きボックスの表示を個別に制御する方法この値を使用して、upload/template/default/touch/common/showmessage.htm テンプレートで使用できます。

これで十分な場合は、これに自分を追加します


discuz が箇条書きボックスの表示を個別に制御する方法#upload/source/function/function_message.php テンプレートの 239 行目には、エントリを制御する特に簡単な方法があります。

##それでは、現時点で何をしなければならないのか!このテンプレートを構築するだけです。discuz が箇条書きボックスの表示を個別に制御する方法
showmassge ファイルを Upload/template/default/touch/common ディレクトリにコピーします。

次に、このファイルを変更して、直接ジャンプします。入った後。

discuz が箇条書きボックスの表示を個別に制御する方法

効果を実現する

discuz が箇条書きボックスの表示を個別に制御する方法

ログイン時のポップアップ ボックスが表示されなくなります

discuz が箇条書きボックスの表示を個別に制御する方法

まだまだ他の場所で見つかるはずです

discuz が箇条書きボックスの表示を個別に制御する方法

まとめ

まとめてみるとこの記事の内容 すべてのファイルを変更したら完了です。独自に定義したテンプレートを使用したい場合は、それを直接使用できます。

is_login はカスタム テンプレートの識別子です

showmessage('login_succeed', 'forum.php',['username'=>$username,'is_login'=>1],array('showdialog' => 1));

以上がdiscuz が箇条書きボックスの表示を個別に制御する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。