This front-end view comprises the following files, (references below to ~ imply /components/com_ramblers).
Controller
~/controllers/contact_list.php RamblersControllerContact_list, which extends RamblersController. This in turn extends JControllerLegacy.
Not a great deal of code is needed here, since most of the required functionality is carried out by the parent classes.
Model
~/models/contact_list.php RamblersModelContact_list, which extends JModelList, which in turn extends JModel.
This handles access to the database, returning a screenfull of data at a time as array of objects. It also defines an array of the searchable fields,
Form helper
administrator/~/helpers/form/contact.php FormContactRamblers, extends FOFModel
Generic helper
~/helpers/frontend.php RamblersHelpersFrontend
Single function: buildSearchQuery, used by several Views
Reference form
~/models/forms/contact.xml
Definition of the fields to be displayed. Invoked by the form helper.
Page framework
~/views/contact_list/view.php RamblersViewContact_list which extends JViewLegacy
Standard code, used to display the actual final page, after it has been generated by default.php
Page detail
~/views/contact_list/tmpl/default.php
This contains the standard code for searching, and for handling pagination, relying on the "state" object to remember start and end point of current page, page size etc. Then a bespoke table of data is generated from the array of "items".
