ホームページ >CMS チュートリアル >Discuz >Discuz モバイル端末の 2 番目のリリース: フォローおよびファン ページとフォロー ステータスの処理
この記事で実装されている機能:
モバイル ファン ページの開発
モバイル ファン ページの開発
自分のスペースから表示されるすべてのウォッチ リストは次のように表示されることに注意してください。
# 他の人のウォッチ リストを見ると、あなたがフォローしているユーザーはフォロー中と表示され、フォローしていないユーザーは表示されます 注意を表示
PHP ファイルでモバイル ページを表示する方法の解決策
source/module/home/home_follow.php このファイルをトレースできます。このファイルでは、次と次の名前に注目するだけで済みます。これら 2 つのうちの 1 つは注目を意味し、もう 1 つはファンを意味します
# 次に、次のアクセス メカニズムに従ってテンプレートに移動します。 discuz ファイル follow_follower.html を見つけます。しかし、テンプレートでは、follow で始まるファイルは次のとおりであることがわかりました。
## ファイルのソース/モジュール/ホームに進みます。 /home_follow.php をクリックし、最後までスクロールして、読み込まれたテンプレートを確認します。ここで、読み込まれたテンプレートが上記の follow_feed.html ファイルであることがわかります。
# 次に、ファイル template/default/home/follow_feed.htm に到達します。554 行目あたりに 2 つのよく知られたモジュールと 1 つのフォロワーが表示されます。
##ここにあると推測できたので、それをテストするためのテスト コードを作成します。
テストの結果、このページは読み込まれたフォロー ページおよびファン ページであると確信しています。
#上記のテストでは、アドレス要求が見つかります。は /home.php?mod=follow&do=follower ですが、読み込まれる HTML ファイルは template/default/home/follow_feed.htm です。つまり、要求されたアドレスと一致しないファイルを dsicuz にロードする必要がある場合は、テンプレート関数を使用してファイルをロードする必要があります。
次に、モバイルの follow_follower ファイルを自分で作成してみましょう。
#次にブラウザをモバイル アクセス モードに調整します
#上記は、PHP
で 2 番目のフォローページとファンページを読み込む方法です。
ファンページとフォローページを開発し、データアクセスを実装する
テンプレートにこのように書くこともできます。ファンテンプレートを入力してください。フォローするときにフォローテンプレートを入力してください。
ページを作成した後、データ ドッキングを実装する必要があります。 template/default/home/follow_feed.htm ファイルに戻ります。使用されているデータがリストであり、ループ内で変数 fuser が使用されていることがわかります。
##discuz データベース辞書を開くと、フォーカスが相互参照を使用しているかどうかを確認できます。フィールド
自分の場合他の人のスペースに入ってフォローリストを表示する場合、フォローしているユーザーをフォロー中として表示する必要がある場合、そうでない場合はフォロー中として表示されます ここでの判定条件は、$_G [uid] != $_GET[uid]、相互です==-1 または相互==1 で十分です。ここにmutual=-1フラグがあるのはなぜですか?データベース辞書にはこのロゴがありませんが、実際のテスト結果にはこのロゴがあることがわかります。Kaka もソース コードを見て判断しました。まず判断方法を知ってください。
// 粉丝模板 <p class="follow_manage"> <!--{if $fuser[mutual] == -1 || $fuser[mutual] == 1}--> <a id="a_followmod_{$fuser['uid']}" href="home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser['uid']&mobile=2" class="flw_btn_fo dialog"> <i class="iconfont icon-like_fill rq"></i> <font class="grey">已关注</font> </a> <!--{else}--> <a id="a_followmod_{$fuser['uid']}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$fuser['uid']&mobile=2" class="flw_btn_fo dialog"> <i class="iconfont icon-like"></i> <font class="grey">关注</font> </a> <!--{/if}--> </p> // 关注列表模板 <p class="follow_manage"> <!--{if $_G[uid] != $_GET[uid]}--> <!--{if $fuser[mutual] == -1 || $fuser[mutual] == 1}--> <a id="a_followmod_{$fuser['followuid']}" href="home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser['followuid']&mobile=2" class="flw_btn_fo dialog"> <i class="iconfont icon-like_fill rq"></i> <font class="grey">已关注</font> </a> <!--{else}--> <a id="a_followmod_{$fuser['followuid']}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$fuser['followuid']&mobile=2" class="flw_btn_fo dialog"> <i class="iconfont icon-like"></i> <font class="grey">关注</font> </a> <!--{/if}--> <!--{else}--> <!--{if $fuser[mutual] == 0 || $fuser[mutual] == 1}--> <a id="a_followmod_{$fuser['followuid']}" href="home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser['followuid']&mobile=2" class="flw_btn_fo dialog"> <i class="iconfont icon-like_fill rq"></i> <font class="grey">已关注</font> </a> <!--{else}--> <a id="a_followmod_{$fuser['followuid']}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$fuser['followuid']&mobile=2" class="flw_btn_fo dialog"> <i class="iconfont icon-like"></i> <font class="grey">关注</font> </a> <!--{/if}--> <!--{/if}--> </p>
ユーザーが気になる論理処理を図で説明する
#その後、ユーザー B が入ります。ユーザー A のスペースのフォロー リストにユーザー C の
が表示されます。この時点でユーザー B がユーザー C をフォローしている場合、このときのフォローボタンは「フォロー済み」です。このときの相互の値は-1です(この場合、他の人のウォッチリストに移動してユーザーを表示します。すでにユーザーをフォローしている場合は、 と表示されます)
この時点で、ユーザー B がフォロー リストを表示するためにユーザー スペースに戻ると、ユーザー C が彼のリストに含まれていることが表示されます。ただし、このときの相互値は 0 です。しかし、ユーザー C がユーザー B もフォローすると、相互値は 1 になります。
つまり、ユーザー B が自分のスペースのウォッチ リストを確認すると、彼は 0 と 1 の相互の値を使用して判断します。ユーザー B がユーザー A のウォッチ リストを見に行くとき、-1 と 1 の相互値を使用して判断します。
# です。
## ユーザー A がユーザー B もフォローしている場合、ユーザー B はユーザー C のファンリストでユーザー A のステータスを確認し、フォローも解除され、相互の値は 0# # しかし、ユーザー B がユーザー A をフォローした後、この時点でユーザー B はユーザー C のファンリストでユーザー A のステータスを確認し、相互の値は 1 であり、相互にフォローしていることを示します
以上がDiscuz モバイル端末の 2 番目のリリース: フォローおよびファン ページとフォロー ステータスの処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。