CategoryListProvider
extends AbstractDataPaginator
in package
implements
CategoryListProviderInterface
Class CategoryListProvider
This class provides methods for creating a list of flattened categories with just its essential data. The list of categories is filtered by its parent category ID and customer status permissions and for simplicity it contains language specific data only in one language.
Tags
Interfaces, Classes and Traits
- CategoryListProviderInterface
- Interface CategoryListProviderInterface
Table of Contents
- $categoryRepo : CategoryRepositoryInterface
- Category Repository.
- $conditions : array<string|int, mixed>
- Array of conditions.
- $db : mixed
- $languageCode : LanguageCode
- Language code.
- __construct() : mixed
- CategoryListProvider constructor.
- _translateOrderByStringIntoArrayOfSorter() : array<string|int, mixed>
- Translate an order by sql instruction into a array of Sorter
- getByParentId() : CategoryListItemCollection
- Returns a category list based the parent ID provided.
- searchCategories() : CategoryListItemCollection
- Filters category records by a given CategorySearchCondition object and returns an collection with results.
- _applyDefaultSorting() : mixed
- Applies the class default sorting
- _applyPagination() : $this|ProductListProvider
- Applies a pagination (Limit and Offset) clause to the currently building query.
- _applySorting() : $this|ProductListProvider
- Applies a sorting based on sorter param (if sorting is supplied) or apply default sorting.
- _getFieldMap() : mixed
- return the child class Field Map array.
- _parseOrderByString() : array<string|int, mixed>
- Parse an order by sql query into a array with fieldname and direction.
- _prepareCollection() : CategoryListItemCollection
- Prepares the CategoryListItemCollection object.
- _select() : CategoryListProvider
- Build the select part of the query build.
- _translateToDatabaseField() : mixed
- Return the related database field of a given object(Entity) field.
- _translateToJsonFieldName() : string|false
- Parse an order by sql query into a array with fieldname and direction.
Properties
$categoryRepo
Category Repository.
protected
CategoryRepositoryInterface
$categoryRepo
$conditions
Array of conditions.
protected
array<string|int, mixed>
$conditions
$db
protected
mixed
$db
$languageCode
Language code.
protected
LanguageCode
$languageCode
Methods
__construct()
CategoryListProvider constructor.
public
__construct(LanguageCode $languageCode, array<string|int, mixed> $conditions, CategoryRepositoryInterface $categoryRepo, CI_DB_query_builder $db) : mixed
Parameters
- $languageCode : LanguageCode
-
Two letter language code.
- $conditions : array<string|int, mixed>
-
Additional data request conditions.
- $categoryRepo : CategoryRepositoryInterface
-
Category repository.
- $db : CI_DB_query_builder
-
Database connector.
Return values
mixed —_translateOrderByStringIntoArrayOfSorter()
Translate an order by sql instruction into a array of Sorter
public
_translateOrderByStringIntoArrayOfSorter([StringType|null $orderBy = null ]) : array<string|int, mixed>
Parameters
- $orderBy : StringType|null = null
-
SQL instruction with fields to sort.
Return values
array<string|int, mixed> —of Sorter objects.
getByParentId()
Returns a category list based the parent ID provided.
public
getByParentId(IdType $parentId) : CategoryListItemCollection
Parameters
- $parentId : IdType
-
Category parent ID.
Return values
CategoryListItemCollection —searchCategories()
Filters category records by a given CategorySearchCondition object and returns an collection with results.
public
searchCategories(CategorySearchCondition $condition[, Pager|null $pager = null ][, array<string|int, mixed> $sorters = [] ]) : CategoryListItemCollection
Parameters
- $condition : CategorySearchCondition
-
Conditions object for search.
- $pager : Pager|null = null
-
(Optional) Pager object with pagination information
- $sorters : array<string|int, mixed> = []
-
(Optional) array of Sorter objects with data sorting information
Return values
CategoryListItemCollection —_applyDefaultSorting()
Applies the class default sorting
protected
_applyDefaultSorting() : mixed
Return values
mixed —_applyPagination()
Applies a pagination (Limit and Offset) clause to the currently building query.
protected
_applyPagination([Pager|null $pager = null ]) : $this|ProductListProvider
Parameters
- $pager : Pager|null = null
-
(Optional) Pager object with pagination information
Return values
$this|ProductListProvider —Same instance for chained method calls.
_applySorting()
Applies a sorting based on sorter param (if sorting is supplied) or apply default sorting.
protected
_applySorting([array<string|int, mixed> $sorters = [] ]) : $this|ProductListProvider
Parameters
- $sorters : array<string|int, mixed> = []
-
Array of Sorter objects.
Tags
Return values
$this|ProductListProvider —Same instance for chained method calls.
_getFieldMap()
return the child class Field Map array.
protected
_getFieldMap() : mixed
Return values
mixed —_parseOrderByString()
Parse an order by sql query into a array with fieldname and direction.
protected
_parseOrderByString([StringType|null $orderBy = null ]) : array<string|int, mixed>
Parameters
- $orderBy : StringType|null = null
-
SQL order by String
Return values
array<string|int, mixed> —with sort information structured as ['field'=>'', 'direction'=>''].
_prepareCollection()
Prepares the CategoryListItemCollection object.
protected
_prepareCollection(array<string|int, mixed> $result) : CategoryListItemCollection
Parameters
- $result : array<string|int, mixed>
-
Query result.
Return values
CategoryListItemCollection —_select()
Build the select part of the query build.
protected
_select() : CategoryListProvider
Return values
CategoryListProvider —Same instance for chained method calls.
_translateToDatabaseField()
Return the related database field of a given object(Entity) field.
protected
_translateToDatabaseField(string $fieldName) : mixed
Parameters
- $fieldName : string
-
Object Field name.
Tags
Return values
mixed —_translateToJsonFieldName()
Parse an order by sql query into a array with fieldname and direction.
protected
_translateToJsonFieldName(StringType $databaseFieldName) : string|false
Parameters
- $databaseFieldName : StringType
-
the database field name. It can be supplied as table.fieldName or fieldName.
Return values
string|false —will return the field name or FALSE if the field doesn't exist.