Widget « Follow »
This widget displays the number of users following the current manufacturer (the manufacturer himself in its page, the manufacturer of the product in a product page) and provides a link to:
"follow" this manufacturer if it, he or she is not already followed by the current user
- "stop follow" if he or she is already followed (if the user isn’t identified, the manufacturer will be deemed not being followed).
If the user is logged in, the activation of the link is cause the update of the tables described above depending on the action displayed (ie creation / destruction of the recording linking the current user and the current manufacturer in the table Follower_Maping and update / creation of the counters in the records associated with the current user and the current manufacturer in the CustomerExt and ManufacturerExt tables) and returns the user to the current page (updated concerning the number of followers).
If the user is not logged in, he or she will be first sent to the login page before the actions described above are carried out in case of successful identification.
The plugin configuration page contains for this widget a text field to enter multiple locations separated by commas. If this field is left blank, the widget isn’t displayed.
Widget « NumberOfFollowed »
This widget shows the number of manufacturers followed by the current user, retrieved in the CustomerExt table.
The plugin configuration page contains for this widget plugin a text field to enter multiple locations separated by commas. If this field is left blank the widget isl not displayed.
Page « ListOfFollowed »
This page page is accessible at the URL : "/customer/followed" and integrates the "MyAccount" area. As such, it contains the "MyAccountNavigation.cshtml » menu in its left column.
The page lists the manufacturers followed by the current user in the order of their names and displays for each of them:
The name and image’s manufacturer is clickable and points to the manufacturer page
Activation of the "Unfollow" link causes the update of the tables described above (ie destruction of the records liking the user and the current manufacturer in the Follower_Maping table and update of the counters in the records related to the current user and the manufacturer in the CustomerExt and ManufacturerExt tables) and returns the user to the current page.
Page « Dashboard »
The "Dashboard" page is accessible at the URL “/Dashboard” if the user was identified.
Otherwise, the user is sent to the login page before return to /Dashboard in case of successful identification.
This page contains the paged list of additions or updates of the products achieved by manufacturers followed by the current user, from the newest to the oldest.
Each page contains 10 items which is preceded and followed by the nopCommerce standard control paging. In order to reduce the needed resources to display each page, only the products displayed is requested in the database.
Each addition or update is represented by a block containing the following information:
The blocks have the same height, a "Read more" link will be, if necessary, placed under the product description text to show the entire text and will be replaced by a link "Read Less" doing the opposite.
The manufacturer name and image is clickable and point to the manufacturer page.
The product’s image, title and description are clickable and point to the product page.
All items is displayed in the current language.
The informations needed to run the plugin is stored in three tables:
This table is store the “following” relationship between user and manufacturer.
This table is allow retrieving directly the number of users by whom a manufacturer is followed. The NumberOfFollowers field is updated each time the Follower_Mapping table is modified. The record associated to a manufacturer is created on first use (reading or updating) if it wasn’t exist.
This table allows retrieving directly the number of manufacturers followed by a user. The NumberOfFollowed field is updated each time when the Follower_Mapping table is modified. The record associated to a user is created on first use (reading or updating) if it wassn’t exist.
The above tables is neither created nor destroyed during the installation or uninstallation of the plugin, if a table or a field was missing from the database during the installation, an error message is displayed.