phpDocumentor

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
category

System

subpackage

Providers

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

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.

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
throws
InvalidArgumentException

if some element of the $sorters array is not a instance of Sorter object

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'=>''].

_translateToDatabaseField()

Return the related database field of a given object(Entity) field.

protected _translateToDatabaseField(string $fieldName) : mixed
Parameters
$fieldName : string

Object Field name.

Tags
throws
InvalidArgumentException

if the provided field name is not a valid mapped field

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.

Search results