The functions implemented in this article:
Develop a mobile fan page
Develop a mobile fan page
Realize that all the watch lists you see from your own space are shown as followed
# Realize that when you look at other people’s watch lists, the users you follow are shown as followed and the users you are not following are shown Show attention
Solution to how to display the mobile page in the PHP file
##Preliminary preparation : Solve the problem of displaying the mobile page in the PHP file
In discuz, there are no fans and followers on the mobile page, so we need to develop it. The following is the development process.
The PC side of discuz has listening and audience functions. As shown below, the address home.php?mod=follow&do=follower is the corresponding fan page on the PC side

Then we can trace the PHP file
source/module/home/home_follow.phpThis file. In this file, we only need to notice the names follow and following. One of these two means attention, the other means fans

Then we go to the template according to the access mechanism of discuz Find the file follow_follower.html. But in the template we found that the files starting with follow are just these

## Continue to the file source/module/ Home/home_follow.php and then scroll to the end to see the loaded template. Here you can see that the loaded template is the follow_feed.html file seen above.
Then we come to the file template/default/home/follow_feed.htm. You can see two familiar modules and one follower around line 554. and following

Now that you have guessed it is here, write a test code to test it.
After testing, we are convinced that this page is the loaded follow page and fan page.

#The above test will find the address request The one is /home.php?mod=follow&do=follower, but the html file loaded is template/default/home/follow_feed.htm. That is to say, if you need to load a file that is inconsistent with the requested address in dsicuz, you need to use the template function to load it.
Then let’s write a mobile follow_follower file ourselves.

Then adjust the browser to mobile access mode


##The above is how to load the second follow page and fan page in PHP
Develop fan pages and follow pages and implement data access
We can also write like this in the template. When it is judged that do is follower, enter the fan template. Enter the follow template when following
The picture below is the effect of the follow page developed by Kaka
##
After the page is written, we need to implement data docking. Continue back to the template/default/home/follow_feed.htm file. You can see that the data used is list, and the variable fuser is used in the loop.
##Open the discuz database dictionary and you can see whether the focus is using the mutual field.
Control the focus and use the mutual field based on the mutual field. Display and non-display of followed ones
When you enter your own space, all followed ones are displayed in the follow list. The judgment condition is when $_G[uid] == $_GET[uid] When mutual>=0,
When you enter someone else’s space to view the follow list, if the user you are following needs to be shown as followed, otherwise it will be shown as followed. The judgment condition here is $_G [uid] != $_GET[uid], mutual==-1 or mutual==1 is enough. Why is there a mutual=-1 flag here? The database dictionary does not have this logo, but the actual test results show that it does. Kaka also looked at the source code and made a judgment. Just know how to judge first.
Now user A, user B, user C
User A follows user C

Then user B enters You can see user C's
in the follow list of user A's space. If user B has followed user C at this time, then the follow button at this time is "followed". At this time, mutual The value is -1 (in this case, you go to other people's watch list to view the user. If you have already followed the user, it will be displayed as followed, and the mutual value is -1)
At this time, when user B returns to his user space to view the follow list, it will show that user C is in his list, but at this time the mutual value is 0. But when user C also follows user B, the mutual value is 1
So when user B checks the watch list of his own space, he uses the mutual value of 0 and 1 to judge. When user B goes to view user A’s watch list, use mutual values of -1 and 1 to judge
Draw a picture to explain the logical processing of fans
- Currently used user A, user B, user C
When user A follows user C, user C’s fan list contains user A

At this time, user B only has user A accessing user C’s fan list. At this time, user A’s following status is also unfollowed, and the mutual value is 0
If user A also follows user B, user B checks user A’s status in user C’s fan list and it is also unfollowed, and the mutual value is 0
But when After user B follows user A, at this time user B checks user A's status in user C's fan list and it shows that he has followed user A and the mutual value is 1, indicating that they are following each other
But when user A does not follow user B
At this time, user B sees that user A's status is unfollowed in user C's fan list. When B follows user A, the status is followed. The value of mutual is -1
, so in the fan list, it is judged that only when the value of mutual is -1 or 1, it is in the following state, and the rest are in the unfollowed state
Summary
- The above is the entire process of implementation. This code will be analyzed in the next article
The above is the detailed content of Discuz mobile terminal second launch: follow and fan pages and follow status processing. For more information, please follow other related articles on the PHP Chinese website!