PHP Templating API: getModels()
Posted by Mark [Elevated X Support], Last modified by Mark [Elevated X Support] on 10 March 2021 04:25 PM

Description:

The getModels() function gets a list of models that are present in the system. Based on the arguments that are passed to it will determine which and how many models are returned.

Sample Usage:

$modelobj = $api->getModels();

$modelobj = $api->getModels(["id" => 1]);

$modelobj = $api->getModels([
"page" => 1,
"id" => 1,
"numperpage" => 20,
"gender" => "F",
"startwith" => "A",
"sort" => "date",
"sort_reverse" => "1",
"subsiteid" => 1,
"extrafield_filter" => [
"4" => "Search String",
"5" => "Search",
],

]);

echo "\nNumber of models returned: " . $modelobj->modelcount;
echo "\nNumber of models total: " . $modelobj->modeltotal;
echo "\nNumber of pages: " . $modelobj->numpages;
echo "\nModels:\n";
print_r($modelobj->models);

Returning Attributes:

This function call will return a StdObject object with the following attributes:

models:

This is a multi-dimensional array that returns any models that match search criteria.

modelcount:

The number of sets within the models attribute.

numpages:

A total number of pages that are available. For instance, if modeltotal = 400 and the system has a numperpage value of 20, this value will be 20.

modeltotal:

A total number of models that are available, regardless of pagination.

Arguments:

page:

This paginates the model list. This way, if you specify "page" => 2, it will show a different list of models than if you specify "page" => 1.

This is useful if the page you're calling this function on is paginated and you want to show different updates on page 2 of your page than page 1.

By default, the system sets this value to 1 if not specified when passing along to the system.

id:

This filters the results by model id. If set, this will only return a set of the specified model id, if it is available for release and is present on the current site.

numperpage:

If specified, determines the maximum number of results to show.

By default, the system looks at the value of "Models per page" under Plugins -> Models -> Configure.

gender:

If specified, only return models that belong to the specified gender.

By default, the system attempts to see if the existing site is set to limit results on the models page to a specified gender, if set. Generally, this is a setting that is specified within all-access site setups.

startwith:

If specified, only show models that begin with the specified letter.

By default, the system does not filter results by letter.

sort:

Specify sorting order of sets.

Valid values are: id,name, date, rating, gender, random.

By default, the system will sort by date.

Note: Doing a database sort by random creates a temporary table within mysql, and may result in reduced performance. Only choose this sorting option when absolutely necessary.

sort_reverse:

If this is set to 1, reverse the sorting order as specified within "sort"

subsiteid:

If specified, limit models belonging to a specified all-access subsite id. If this value is set to 0, show sets from all sites.

By default, the system will detect if the current area belongs to an all-access subsite, and use that value.

Note: If you specify a non-zero value for subsiteid, all-access must be available within this system. Otherwise, an Exception will be triggered.

extrafield_filter:

If specified, limit models based on extra field search criteria.

In order to do a search with this, you'll need to pass an associative array, where:

- The key specifies the Extra Field Id of the item you're searching. You can find this ID in /cms_admin/plugins/extrafields/extrafields.php

- The value of the array is an exact match of the string that you're searching.

Examples:

"extrafield_filter" => [
  "4" => "Female",
],

"extrafield_filter" => [
"4" => "Male",
"6" => "Scorpio",
],

(0 vote(s))
Helpful
Not helpful

Comments (0)