ホームページ >CMS チュートリアル >Discuz >【Discuz】トピックタイトルと本文の同時表示を実現

【Discuz】トピックタイトルと本文の同時表示を実現

咔咔
咔咔オリジナル
2020-04-29 13:56:122569ブラウズ

この記事の機能: トピックのタイトルとトピックの内容を同時に表示します。プロジェクトの実施結果を直接確認したい場合は、タイトルの下にある問題を解決する内容を直接見ることができます

プロジェクト要件

これは元のモバイル端末のページ レイアウトです

【Discuz】トピックタイトルと本文の同時表示を実現

これは達成する必要がある効果です

【Discuz】トピックタイトルと本文の同時表示を実現

問題の発見

元の `upload\template\default\touch\forum\viewthread.htm` では、タイトルとコンテンツが次のとおりであることがわかります。別々に表示され、最後のものは `$_G [forum_thread][subject]`この変数

【Discuz】トピックタイトルと本文の同時表示を実現

現時点では問題があります。つまり、テーマのコンテンツを取り出す方法です。まず、ソース コードのコンテンツ変数が何であるかを見てみましょう。

`upload\template\default\touch\forum\viewthread.htm` の 163 行目を見ると、次のことがわかります。その `$post[message]`この変数が実装するもの

【Discuz】トピックタイトルと本文の同時表示を実現

何はともあれ、最初にこのタグを使用してから話してみてください

【Discuz】トピックタイトルと本文の同時表示を実現

【Discuz】トピックタイトルと本文の同時表示を実現

現時点での問題は非常に明らかです。`$post[message]` を使用しましたが、トピックの最後のコンテンツが表示されました。問題

解決策

上記の問題を発見したので、このアイデアに基づいて段階的にテストしていきます

解決策の手順

HTML では、元のテンプレートで変数を使用するときに問題が発生するため、

次に、バックグラウンドでどの変数を渡すかを考える必要があります

渡される変数に次のものが含まれるかどうかテーマのコンテンツの値

存在する場合は直接取得します。存在しない場合は自分で解決する必要があります

#リクエスト パスに従ってどの PHP ファイルが使用されているかを確認してください

アドレスバーを確認してください` forum/upload/forum.php?mod=viewthread&tid=13&pid=44&page=1&extra=&mobile=2#pid44`これが必要なアドレスです

`forum.php であることがわかります。 ` が最初に要求され、その後、このファイルを開くだけです。

ファイルの最後の行は、最終的に入力する必要があるファイルです。mod 変数を出力して、それが何であるかを確認できます。

【Discuz】トピックタイトルと本文の同時表示を実現

上の図によると、ファイル `upload/source/module/forum/forum_viewthread.php` に直接移動すると、これら 2 つの変数が表示されます。これら 2 つの変数はよく知られていますか?これら 2 つはテンプレートで使用されていますか? 変数ですか?

【Discuz】トピックタイトルと本文の同時表示を実現

これら 2 つの変数を出力しましょう

【Discuz】トピックタイトルと本文の同時表示を実現

【Discuz】トピックタイトルと本文の同時表示を実現

この時点で、次のことがわかりました。変数にはトピック コンテンツ フィールドがまったくありません。

まず、データベース テーブルに格納されているトピック コンテンツを見てみましょう。

discuz のデータベース ディクショナリ `pre_forum_post` を開きます。このテーブルは、まさに我々が作成したものです。 need

【Discuz】トピックタイトルと本文の同時表示を実現

ローカル データベースを開くと、これが必要なデータではないことがわかります。

【Discuz】トピックタイトルと本文の同時表示を実現

これ以上の手間は省き、アドレス バーにパラメータを出力してみましょう。

【Discuz】トピックタイトルと本文の同時表示を実現

tid に基づいて直接クエリを実行します。そして、メッセージフィールドを入力してください。時間が必要です。状況に応じて決定します

【Discuz】トピックタイトルと本文の同時表示を実現

それからテンプレートで呼び出します

【Discuz】トピックタイトルと本文の同時表示を実現

効果を確認します: これが私たちです望ましい結果

【Discuz】トピックタイトルと本文の同時表示を実現

以上が【Discuz】トピックタイトルと本文の同時表示を実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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