ホームページ >CMS チュートリアル >Discuz >discuz が注意機能を開発する方法
この記事で実装する機能:
1. ユーザーのフォローとフォロー解除
2. ユーザーとの次の関係を決定します
クリックしてフォローするとフォロー中と表示され、フォローを解除すると以下のように表示されます
##実装計画
home.php ファイルを開く 29 行目では、in_array を使用して、主に space と spacecp の 2 つのモジュールに焦点を当てて判断していることがわかります。
次に、discuz の元のデフォルト テンプレートを開く必要があります (これは、何も変更せずに discuz アプリケーションを自分で構築する場合です)コード)を入力し、トピックを投稿し、任意のユーザー画像をクリックすると、アドレスバーにアドレス情報が表示されます。
space モジュールを入力したことがわかりました。アドレス バーによれば、source/include/space/space_profile.php が見つかります。 ### このファイル。しかし、このファイルにはアテンションに関連するコードが見つかりません。
ただし、このファイルにはユーザー空間に関する必要なデータがすべて含まれています。たとえば、ユーザーのファンの数、ユーザーのトピックの数、ユーザーのフォロワーの数、ユーザーの友達の数などです。これらの値は $space 変数に保存され、インターフェイスはテンプレートで直接使用されます。これらのフィールドについては、データベース辞書でキーワードを直接検索できますそこで、
spacecpモジュールを見ていきます。このディレクトリには次のファイルがありました。
followを英語に訳すと、「従う」という意味になります。 他の人のプロジェクトを学ぶときは、まずドキュメントを読む必要があり、次にディレクトリ構造とファイル名に基づいてその意味を推測する必要があります
#ファイルを開きますsource/include/spacecp/spacecp_follow.php。ファイルの先頭には 2 つの値があります。1 つは
addで、もう 1 つは del です。次に、op 変数を使用してそれを受け取ります。この op 変数によれば、フォローを追加することは add であることがわかります。フォローをキャンセルする場合は、del メソッド
でadd## の値を見つけます。 #follow_not_follow_self
これについて私の理解は、自分自身に注意を向けることはできないということです。この値を言語で検索して確認できます。ここで、source/include/spacecp/spacecp_follow.php が、次の
を実装するファイルであることが証明されました。次のステップは、次の手順です。リクエストする 毛糸!以下の矢印で示される 4 つの $_GET 値によると、決定できるリクエスト アドレスは
home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid={$space[uid]}&mobile=2です。リクエストの理由については、アドレスは決定できるので、後で紹介します。この記事の焦点は関数
に焦点を当てることです。次に、次のように書きます。テンプレート内の次のコードは、それに焦点を当てたスタイルです
关注ta
#クリックしてフォローしてください。この時点で、私たちの注意は準備ができています。フォローを解除する場合も同様です!
打开数据库查到pre_home_follow 这个表,就会发现有一条数据就是关注者跟被关注者。
在上文中我们实现了关注与取消关注,但是当我们关注了用户后,是不是需要显示已关注 或者 关注ta的字样
我们打开数据库字典搜索pre_common_member_count 用户统计表。
在这个表里边我们发现有收听数量和听众数量。那么对应的就是关注数量和粉丝数量
然后打开文件source/include/space/space_profile.php加上代码
# 判断是否关注 $follow_data = DB::fetch_all("select * from pre_home_follow where uid = '$_G[uid]' and followuid = '$space[uid]' limit 1"); if(!empty($follow_data)){ $space['is_follow'] = $follow_data[0]['mutual']; }
在template/default/touch/home/space_profile.htm模板里边进行判断
没有关注时显示关注ta
关注之后显示以关注
关于本文的实现关注功能。在网上的资料不是很多,但是我们也可以自己去研究实现。后期会一直推送discuz的文章。有任何问题,评论区见。
以上がdiscuz が注意機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。