ホームページ  >  記事  >  CMS チュートリアル  >  テーマ ビューの実装原則と更新されない場合の解決策について説明します

テーマ ビューの実装原則と更新されない場合の解決策について説明します

咔咔
咔咔オリジナル
2020-04-30 15:23:042350ブラウズ

この記事の主な内容:

Discuzトピックビューが変わらない、または返信投稿数とともに変化する問題の解決方法

初心者の方へdiscuz 開発者の方は、この記事を最初からご覧いただけます

ウェブマスターの方は、記事の下部にある概要をお読みください。

他の記事がこの列にあります: Discuz列

質問の復元

このページはテーマ ページです

上の赤いボックスは、$_G[forum_thread] を使用したテーマ ページビューです。 [views]

以下のすべての返信では、返信数として $_G[forum_thread][replies]

が使用されます。ただし、ビューの数はページを更新しても増加しませんが、トピックが投稿に返信してもビュー数は増加しません。ボリュームは増加します

テーマ ビューの実装原則と更新されない場合の解決策について説明します

# それでは、テストしてみましょう。新しい返信を追加してください。そうすれば、それが事実であることがわかります。しかし、問題はそれほど単純ではありません。引き続き以下をお読みください。

テーマ ビューの実装原則と更新されない場合の解決策について説明します

トラブルシューティング手順

  • ステップ 1: を確認する必要があります。閲覧数と返信数 これら 2 つのフィールドの量です

  • 第 2 ステップ: ページビュー増加の原理を追跡する必要があります

それでは、最初のステップのトラブルシューティングをしてみましょう。 質問: データベース ディクショナリを開いて pre_forum_thread テーブルを表示します。その後、ソース コードで使用する変数が正しいことを確認します

テーマ ビューの実装原則と更新されない場合の解決策について説明します

トレーサビリティの実装 原則

コードの 986 行で、最初の問題が解決されており、ページ ビューと返信のデータが同じであるのはこのためです。ここで判断したからです。返信投稿の数がトピックの閲覧数よりも大きい場合、閲覧数は返信の数と等しくなります

テーマ ビューの実装原則と更新されない場合の解決策について説明します

次に、コードを探し続けます。トピックのビューを更新します: 1054 行に viewthread_updateviews メソッドがあります。文字通りの意味によれば、このメソッドが何をするのかは誰でも理解でき、テーマはビューの数を更新します。ビュー。

#このコードを実行する手順

  • まず、最適化テーマのビュー最適化機能がバックグラウンドでオンになっているかどうかを確認します

  • 次に、グローバル変数の

    addviews の値を決定します。

  • 値が 100 未満の場合、データは # に更新されます。 ##pre_forum_threadaddviews

    このテーブル

  • addviews

    の値が 100 より大きい場合、このトピックのビューはクリアされ、データは削除されます。 pre_forum_thread トピック テーブルの Views フィールドに格納されます

  • これは基本的な実装プロセスです
  • 上記では、ビューはトピック テーブルに直接保存されないことがわかりました。これの利点は、トピック テーブルの頻繁な更新を防ぎ、テーブルがロックされるのを防ぐことです。

テーマ ビューの実装原則と更新されない場合の解決策について説明します##まとめ

この時点で、理解すべきことはすべて理解できました。トピックの閲覧数が増加しない理由は、実は背景によって制御されています。上記のコードの最初の行では、

preventrefresh

値が有効かどうかを制御します。トピックのビュー数を最適化するには、Kaka に従って設定するだけです。 しかし、開発者としては、ファンクション ポイントの実装をソース コードまで遡る必要があり、この方法でのみ継続的に改善することができます。

以上がテーマ ビューの実装原則と更新されない場合の解決策について説明しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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