ホームページ >CMS チュートリアル >Discuz >discuz が注意機能を開発する方法

discuz が注意機能を開発する方法

咔咔
咔咔オリジナル
2020-05-07 12:08:524008ブラウズ

この記事で実装する機能:

1. ユーザーのフォローとフォロー解除

2. ユーザーとの次の関係を決定します

効果達成

クリックしてフォローするとフォロー中と表示され、フォローを解除すると以下のように表示されます

discuz が注意機能を開発する方法

discuz が注意機能を開発する方法 ##実装計画

##ユーザー空間への入り口はhome.phpファイルなので、最初にhome.phpファイルから始める必要があります

home.php ファイルを開く 29 行目では、in_array を使用して、主に space と spacecp の 2 つのモジュールに焦点を当てて判断していることがわかります。

まず、space という 2 つの単語を認識しましょう。 (space) と spacecp (宇宙プログラムとして翻訳)

次に、discuz の元のデフォルト テンプレートを開く必要があります (これは、何も変更せずに discuz アプリケーションを自分で構築する場合です)コード)を入力し、トピックを投稿し、任意のユーザー画像をクリックすると、アドレスバーにアドレス情報が表示されます。 discuz が注意機能を開発する方法

space モジュールを入力したことがわかりました。

アドレス バーによれば、discuz が注意機能を開発する方法source/include/space/space_profile.php が見つかります。 ### このファイル。しかし、このファイルにはアテンションに関連するコードが見つかりません。

ただし、このファイルにはユーザー空間に関する必要なデータがすべて含まれています。たとえば、ユーザーのファンの数、ユーザーのトピックの数、ユーザーのフォロワーの数、ユーザーの友達の数などです。これらの値は $space 変数に保存され、インターフェイスはテンプレートで直接使用されます。これらのフィールドについては、データベース辞書でキーワードを直接検索できますそこで、

spacecp

モジュールを見ていきます。このディレクトリには次のファイルがありました。

follow

を英語に訳すと、「従う」という意味になります。 他の人のプロジェクトを学ぶときは、まずドキュメントを読む必要があり、次にディレクトリ構造とファイル名に基づいてその意味を推測する必要があります

#ファイルを開きます

source/include/spacecp/spacecp_follow.phpdiscuz が注意機能を開発する方法。ファイルの先頭には 2 つの値があります。1 つは

add

で、もう 1 つは del です。次に、op 変数を使用してそれを受け取ります。この op 変数によれば、フォローを追加することは add であることがわかります。フォローをキャンセルする場合は、del メソッド

add## の値を見つけます。 discuz が注意機能を開発する方法#follow_not_follow_self

これについて私の理解は、自分自身に注意を向けることはできないということです。この値を言語で検索して確認できます。ここで、

source/include/spacecp/spacecp_follow.php が、次の

を実装するファイルであることが証明されました。次のステップは、次の手順です。リクエストする 毛糸!

discuz が注意機能を開発する方法

以下の矢印で示される 4 つの $_GET 値によると、決定できるリクエスト アドレスは

home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid={$space[uid]}&mobile=2

です。リクエストの理由については、アドレスは決定できるので、後で紹介します。この記事の焦点は関数

に焦点を当てることです。次に、次のように書きます。テンプレート内の次のコードは、それに焦点を当てたスタイルですdiscuz が注意機能を開発する方法

          


#クリックしてフォローしてください。この時点で、私たちの注意は準備ができています。フォローを解除する場合も同様です!

discuz が注意機能を開発する方法

次に、キーワード follow に基づいてデータベース ディクショナリを検索すると、ユーザー フォロー関係テーブルが存在することがわかります。

discuz が注意機能を開発する方法

打开数据库查到pre_home_follow 这个表,就会发现有一条数据就是关注者跟被关注者。

discuz が注意機能を開発する方法

在上文中我们实现了关注与取消关注,但是当我们关注了用户后,是不是需要显示已关注  或者 关注ta的字样

处理是否显示关注

我们打开数据库字典搜索pre_common_member_count 用户统计表

在这个表里边我们发现有收听数量和听众数量。那么对应的就是关注数量和粉丝数量

discuz が注意機能を開発する方法

然后打开文件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 が注意機能を開発する方法

总结

关于本文的实现关注功能。在网上的资料不是很多,但是我们也可以自己去研究实现。后期会一直推送discuz的文章。有任何问题,评论区见。

以上がdiscuz が注意機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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