Plentymarkets interface documentation

Catalog

Containers

CatalogMappingValueContainer

The CatalogMappingValueContainer collects and returns multiple CatalogMappingValues.

Namespace

Plenty\Modules\Catalog\Containers

Methods
public addMappingValue($value):void

Add a mapping value to the container

Parameters

Name

Type

Description

$value

CatalogMappingValue

public getMappingValues():array

Get all mapping values that are collected in the container.

CatalogTemplateFieldContainer

The CatalogTemplateFieldContainer collects and returns multiple CatalogTemplateFields.

Namespace

Plenty\Modules\Catalog\Containers

Methods
public addField($field):void

Add a field to the container.

Parameters

Name

Type

Description

$field

CatalogTemplateFieldContract

public getField($key):Plenty\Modules\Catalog\Contracts\CatalogTemplateFieldContract
Return type: CatalogTemplateFieldContract

Get a specified field out of the container.

Parameters

Name

Type

Description

$key

string

public getFields():array

Get all fields that are collected in the container.

TemplateGroupContainer

The TemplateGroupContainer collects all groups of a specific template.

Namespace

Plenty\Modules\Catalog\Containers

Methods
public addGroup($group):void
Parameters

Name

Type

Description

$group

TemplateGroup

public getGroups():array
public getGroup($identifier):Plenty\Modules\Catalog\Models\TemplateGroup
Return type: TemplateGroup
Parameters

Name

Type

Description

$identifier

string

Contracts

CatalogContentRepositoryContract

The CatalogContentRepositoryContract is the interface for the catalogue content repository. This interface allows to read and update a catalogue's content. The content contains the specific catalogue data that is used in the exports.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public get($id):array

Returns the content of the catalogue.

Parameters

Name

Type

Description

$id

string

The id of the catalogue

public update($id, $data):array

Updates the content of the catalogue.

Parameters

Name

Type

Description

$id

string

The id of the catalogue

$data

array

The content that should be inserted into the catalogue

CatalogDynamicConfigContract

The CatalogDynamicConfigContract is the Interface that has to be implemented to run specific export logic that changes filters, settings and other information which is not known on the template definition level. This logic is applied in each catalog export triggered by catalog specific logic (e.g. preview, asynchronus exports etc) to make sure, that manual downloads of a user through the UI deliver identical results as a cron export to a marketplace. Can be applied manually in exports that get triggered from other modules or plugins.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public applyDynamicConfig($template, $catalog, $catalogExportService):void

Will be run before every export and is meant to provide filters on the template which can't be defined before the runtime of the export.

Parameters

Name

Type

Description

$template

TemplateContract

$catalog

Catalog

$catalogExportService

CatalogExportServiceContract

public applyDynamicPreviewConfig($template, $catalog, $catalogExportService):void

Will be run before every preview and is meant to provide filters on the template which can't be defined before the runtime of the preview

Parameters

Name

Type

Description

$template

TemplateContract

$catalog

Catalog

$catalogExportService

CatalogExportServiceContract

CatalogExportFilterServiceContract

To be written

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public applyFilters($documentSearch, $config):void
Parameters

Name

Type

Description

$documentSearch

DocumentSearch

$config

array

CatalogExportRepositoryContract

The CatalogExportRepositoryContract is the interface for the catalogue export repository. It allows to receive an instance of CatalogExportServiceContract to export a specific catalogue.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public exportById($id):Plenty\Modules\Catalog\Contracts\CatalogExportServiceContract
Return type: CatalogExportServiceContract

Returns an instance of CatalogExportServiceContract to export a specific catalogue.

Parameters

Name

Type

Description

$id

string

The id of the catalogue

public initiateQueue($id):void

Initiates the queue which exports a specific catalogue.

Parameters

Name

Type

Description

$id

string

public download($id, $hash = "", $converterKey = "csv", $public = false, $token = ""):array

Provides the response with file attachment to download in browser

Parameters

Name

Type

Description

$id

string

$hash

string

$converterKey

string

$public

bool

$token

string

public initiateDevQueue($id):bool

Initiates the dev queue. Stores the file on S3 and can be fetched using getDevCachedResult()

Parameters

Name

Type

Description

$id

string

public getDevCachedResult($id, $maximumAgeInSeconds = 14400):Plenty\Modules\Catalog\Services\Collections\CatalogLazyCollection
Return type: CatalogLazyCollection

Gets the latest prebuilt, cached result

Parameters

Name

Type

Description

$id

string

Catalog ID

$maximumAgeInSeconds

int

Maximum age in seconds. Defaults to 4 hours.

CatalogExportServiceContract

The CatalogExportServiceContract is the interface for the catalogue export service. It allows you to configure and start the export of a catalogue.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public setAdditionalFields($additionalFields):void
Deprecated!

Use fields with the attribute 'hidden' and 'default' in Plenty\Modules\Catalog\Contracts\DataProviderContract::getData instead

Specifies fields that should be exported in addition to the mappings configured in the catalogue.

Parameters

Name

Type

Description

$additionalFields

array

The fields that should be exported additionally. Each field will be specified by an entry in the array, while the key of that entry determines the key that the field will have in the exported item.

public addMutator($mutator):void
Deprecated!

Use Plenty\Modules\Catalog\Contracts\TemplateContract::getPreMutators or Plenty\Modules\Catalog\Contracts\TemplateContract::getPostMutators instead.

Parameters

Name

Type

Description

$mutator

callable

public setSettings($settings):void

Defines the settings that are used in the mappings and for filtering.

Parameters

Name

Type

Description

$settings

array

public setNumberOfDocumentsPerShard($numberOfDocumentsPerShard):void
Deprecated!

Use Plenty\Modules\Catalog\Contracts\CatalogExportServiceContract::setItemsPerPage instead.

Parameters

Name

Type

Description

$numberOfDocumentsPerShard

int

public setItemsPerPage($itemsPerPage):void

Defines the amount of items that will be returned in each iteration of the export. In specific formats such as variation, it can have more results e.g. if items per page is set to 500, but variations 500 and 501 belong to the same item. In this case, variation 501 will also be returned.

Parameters

Name

Type

Description

$itemsPerPage

int

The amount of items per page

public setPage($page):void

Defines the page number that will be returned

Parameters

Name

Type

Description

$page

int

public setUpdatedSince($timestamp):void

Limits the results of items to only those that were updated after the given timestamp.

Parameters

Name

Type

Description

$timestamp

Carbon

public getResult():Plenty\Modules\Catalog\Models\CatalogExportResult
Return type: CatalogExportResult

Returns an instance of CatalogExportResult, which can be iterated to receive the different pages of the exported data.

public buildQueuedAsyncExport():void

ASYNC - Returns an instance of CatalogExportResult, which can be iterated to receive the different pages of the exported data.

public getAsyncResultPage($page):array

Builds a single page of the export and uploads it to S3

Parameters

Name

Type

Description

$page

int

public getPreview():void
public allowExportKeys($keys):void

Defines a list of keys that will be considered in the export. That means that only keys that exist in the catalog and are defined in this list will be contained in the export result. This will overwrite the forbidden keys that were defined by the forbidExportKeys method.

Parameters

Name

Type

Description

$keys

string

public forbidExportKeys($keys):void

Defines a list of keys that will not be considered in the export. That means that only keys that exist in the catalog and are not defined in this list will be contained in the export result. This will overwrite the allowed keys that were defined by the allowExportKeys method.

Parameters

Name

Type

Description

$keys

string

CatalogGroupedTemplateProviderContract

The CatalogGroupedTemplateProviderContract is the interface that has to be implemented by the catalogue template providers. Each registered template should have a catalogue template provider (multiple templates can use the same one) to avoid booting them if they are not necessary. A catalogue template provider fills a template with data at the moment the template gets booted.Use the abstract class Plenty\Modules\Catalog\Templates\Providers\AbstractGroupedTemplateProvider.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public getTemplateGroupContainer():Plenty\Modules\Catalog\Containers\TemplateGroupContainer
Return type: TemplateGroupContainer

Returns a container in which all TemplateGroups of this template are collected.

public getFilter():array
Deprecated!

Filters should be consumed throgh getFilterContainer().

Returns the filters that will be applied in each export of templates that will be booted by this provider.

public getPreMutator():Plenty\Modules\Catalog\Contracts\CatalogMutatorContract
Return type: CatalogMutatorContract

Returns the Mutator instance that should be called to manipulate data before the mapping.

public getPostMutator():Plenty\Modules\Catalog\Contracts\CatalogMutatorContract
Return type: CatalogMutatorContract

Returns the Mutator instance that should be called to manipulate data after the mapping.

public getSkuCallback():callable

Returns a callback function that is called if a field with the specific key "sku" got mapped. The function will receive the value that got mapped, the raw data array of this item and the type of the mapped source. It should return the new value (e.g. function ($value, array $item, $mappingType){ --your code-- return $value})).

public getSettings():array

Returns an array of settings that will be displayed in the UI of each catalogue with a template that uses this provider. The selected values for all those settings can then be used in the export.

public getMetaInfo():array

Returns an array of meta information which can be used to forward information to the export which could otherwise not be received.

public getCustomFilters():array
Deprecated!

Custom filters should be consumed throgh getCustomFilterContainer().

Returns the custom filters that will be configurable in the catalog UI. Each configured custom filter will be applied in each export of templates that will be booted by this provider.

public getAssignments():array
public getFilterContainer():Plenty\Modules\Catalog\Containers\Filters\CatalogFilterBuilderContainer
Return type: CatalogFilterBuilderContainer

Returns the container that collects all filters of templates that are booted by this specific provider.

public getCustomFilterContainer():Plenty\Modules\Catalog\Containers\Filters\CatalogFilterBuilderContainer
Return type: CatalogFilterBuilderContainer

Returns the container that collects all custom filters of templates that are booted by this specific provider.

public hasExtendedMappings():bool

Determines if this template supports extended mappings

public isPreviewable():bool
public getDynamicConfig():Plenty\Modules\Catalog\Contracts\CatalogDynamicConfigContract
Return type: CatalogDynamicConfigContract
public getResultConverterClass():string
Deprecated!

This will not be consumed anymore. Use getResultConverterContainer() instead.

public allowsCustomFilter():bool
public getResultConverterContainer():Plenty\Modules\Catalog\Services\Converter\Containers\ResultConverterContainer
Return type: ResultConverterContainer
public getDefaultCatalogSettings():array

Defines settings that will be applied to newly created catalogs by default

CatalogMappingValueProviderContract

The CatalogMappingValueProvider provides all mapping values for a specific field.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public getValueById($id):Plenty\Modules\Catalog\Models\CatalogMappingValue
Return type: CatalogMappingValue

Get a CatalogMappingValue specified by its id

Parameters

Name

Type

Description

$id

string

public getValuesByParentId($parentId = null):Plenty\Modules\Catalog\Containers\CatalogMappingValueContainer
Return type: CatalogMappingValueContainer

Get a CatalogMappingValueContainer that contains all CatalogMappingValues that match the given parentId. If no parentId is provided, all CatalogMappingValues that have no parent value are returned.

Parameters

Name

Type

Description

$parentId

string

public getValues($params = []):Plenty\Modules\Catalog\Containers\CatalogMappingValueContainer
Return type: CatalogMappingValueContainer

Get a CatalogMappingValueContainer dependent on provided params.

Parameters

Name

Type

Description

$params

array

CatalogMutatorContract

The CatalogMutatorContract represents one mutator that will be used to manipulate a specific item in the export either before or after it has been mapped.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public mutate($item):void
Parameters

Name

Type

Description

$item

CatalogRepositoryContract

The CatalogRepositoryContract is the interface for the catalogue repository. It allows you to create, read, update and delete catalogues.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public create($data):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog

Create a catalog

Parameters

Name

Type

Description

$data

array

public update($id, $data):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog

Update a catalog

Parameters

Name

Type

Description

$id

string

$data

array

public get($id):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog

Get the latest version of a catalog

Parameters

Name

Type

Description

$id

string

public getByVersion($id, $version = ""):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog

Get a specific version of a catalog

Parameters

Name

Type

Description

$id

string

$version

string

public restoreVersion($id, $version = ""):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog

Restore a past version of a catalog to become latest

Parameters

Name

Type

Description

$id

string

$version

string

public listVersions($id):Illuminate\Support\Collection
Return type: Collection

Lists catalog versions

Parameters

Name

Type

Description

$id

string

Catalog ID

public getArchive():array

Gets the archive

public restoreArchived($id):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog

Restores an archived catalog

Parameters

Name

Type

Description

$id

string

public delete($id):bool

Delete a catalog

Parameters

Name

Type

Description

$id

string

Catalog ID

public copy($data):array

Copy a catalog or multiple catalogs

Parameters

Name

Type

Description

$data

array

public copyCatalog($id, $modifiedAttributes):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog

Copy a single catalog

Parameters

Name

Type

Description

$id

string

Catalog ID

$modifiedAttributes

array

Attributes to add or modify

public copyCatalogFormat($catalogId, $data):array

Copy a catalog format

Parameters

Name

Type

Description

$catalogId

string

Catalog ID

$data

array

public all($page = 1, $perPage = 25):Plenty\Repositories\Models\PaginatedResult
Return type: PaginatedResult

Get list of all catalogs

Parameters

Name

Type

Description

$page

int

$perPage

int

public activate($id, $active):array

Activate a catalog

Parameters

Name

Type

Description

$id

string

$active

bool

public enableDevcache($id):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog

Enable a catalog's devcache

Parameters

Name

Type

Description

$id

string

public disableDevcache($id):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog

Disable a catalog's devcache

Parameters

Name

Type

Description

$id

string

public getCatalogPreview($id):array

Gets the preview for an export with a specific catalog

Parameters

Name

Type

Description

$id

string

public migrate():bool

Migrates catalogs from Dynamo DB to S3

public generateToken():string

Generates an alphanumeric token

public buildDownloadPublicURL($id, $data):string

Builds the catalog's public download url

Parameters

Name

Type

Description

$id

string

$data

array

public buildDownloadPrivateURL($id, $data):string

Builds the catalog's private download url

Parameters

Name

Type

Description

$id

string

$data

array

public exportCatalog($id):array

Exports the catalog. The catalog ID is required.

Parameters

Name

Type

Description

$id

string

public importCatalog($content):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog

Imports the catalog. The catalog ID is required.

Parameters

Name

Type

Description

$content

string

public setFilters($filters = []):void

Sets the filter array.

Parameters

Name

Type

Description

$filters

array

public getFilters():void

Returns the filter array.

public getConditions():void

Returns a collection of parsed filters as Condition object

public clearFilters():void

Clears the filter array.

CatalogResultConverterContract

Converts export results

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public getKey():string

Returns the identifier for this result converter. Has to be unique in its templates scope.

public getLabel():string

Returns the readable representation for this converter

public getOptions():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract

Returns the options that can be set in the UI

public getMIME():string

Get the mime type of the resource returned by this converter

public getFileExtension():string

Get the file extension of the resource returned by this converter

public getChunkSize():int

Get the lazy collection's chunk size

public getSourceCollection():Plenty\Modules\Catalog\Services\Collections\CatalogLazyCollection
Return type: CatalogLazyCollection

Get the source lazy collection

public setSettings($settings = []):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Set settings that you need to use in your converter

Parameters

Name

Type

Description

$settings

array

public fromArray($data):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from an array

Parameters

Name

Type

Description

$data

array

public fromCollection($collection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a Collection

Parameters

Name

Type

Description

$collection

Collection

public fromCatalogLazyCollection($catalogLazyCollection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogLazyCollection

Parameters

Name

Type

Description

$catalogLazyCollection

CatalogLazyCollection

public fromCatalogExportResult($exportResult):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogExportResult

Parameters

Name

Type

Description

$exportResult

CatalogExportResult

public toMarketplace():void

Convert and prepare data for marketplace

public toDownload($resourceHandler):void

Convert and prepare resource for download

Parameters

Name

Type

Description

$resourceHandler

ResourceHandler

public addData($data):void

Through this a single entry of a catalog result should be added

Parameters

Name

Type

Description

$data

public getConvertedResult():string

Converts the data that was inserted into the specific output format

public getType():string

Returns the type of the converted result

public clear():void

CatalogRuntimeConfigContract

To be written

Deprecated!

Please use Plenty\Modules\Catalog\Contracts\CatalogDynamicConfigContract instead.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public applyRuntimeConfig($template, $catalog):void

Will be run before every export and is meant to provide filters on the template which can't be defined before the runtime of the export

Parameters

Name

Type

Description

$template

TemplateContract

$catalog

Catalog

public applyPreviewRuntimeConfig($template, $catalog):void

Will be run before every preview and is meant to provide filters on the template which can't be defined before the runtime of the preview

Parameters

Name

Type

Description

$template

TemplateContract

$catalog

Catalog

CatalogRuntimeConfigProviderContract

To be written

Deprecated!

This is now part of the AbstractGroupedTemplateProvider.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public isPreviewable():bool

Determines if a preview can be exported through catalogs that use the specific template

public getRuntimeConfigClass():string

Returns a class name through which the export can be configured with information that isn't known before the export runtime

public getResultConverterClass():string

Returns a class name through which the export result can be converted into the necessary format (e.g. json or csv)

CatalogTemplateFieldCallableContract

The CatalogTemplateFieldCallableContract is the Interface that has to be implemented by each callable that is going to be linked to a field.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public call($item, $value, $originType):void

This method will be called if the linked field is mapped. The method will receive the loaded data for the item, the value that was mapped by the catalog and the origin of that value.

Parameters

Name

Type

Description

$item

$value

$originType

string

CatalogTemplateFieldContract

The CatalogTemplateFieldContract representes a single field in a template. Use a specific implementation of this interface to create a field.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public getExportKey():string

Returns the key that will be present in the exported result

public getKey():string

Returns a unique identifier for this field

public getLabel():string

Returns the label of the field that will be visible in the UI

public isRequired():bool

Defines if the field is required.

public isLocked():bool

Defines if the field is locked. Locked fields will be visible in the UI but can not be overwritten.

public isArray():bool

Defines if (true) all found sources will be exported as an array or (false) the first filled source will be used to fill the field.

public getCallable():Plenty\Modules\Catalog\Contracts\CatalogTemplateFieldCallableContract
Return type: CatalogTemplateFieldCallableContract

Returns a callable that should be run after mapping the field to manipulate it if necessary.

public getMeta():array

Returns an array of meta information that will not be used by the catalog itself. This array can be used to pass data through the export that the specific implementation needs.

public getDefaultSources():array

Returns an array of default sources. Default sources will be used if no other sources are manually added through the UI.

public getMappingValueProvider():Plenty\Modules\Catalog\Contracts\CatalogMappingValueProviderContract
Return type: CatalogMappingValueProviderContract
public getNestedFields():Plenty\Modules\Catalog\Containers\CatalogTemplateFieldContainer
Return type: CatalogTemplateFieldContainer
public getType():int

CatalogTemplateProviderContract

The CatalogTemplateProviderContract is the interface that has to be implemented by the catalogue template providers. Each registered template should have a catalogue template provider (multiple templates can use the same one) to avoid booting them if they are not necessary. A catalogue template provider fills a template with data at the moment the template gets booted. Whenever it is possible, use the abstract class Plenty\Modules\Catalog\Templates\BaseTemplateProvider.

Deprecated!

Use \Plenty\Modules\Catalog\Contracts\CatalogGroupedTemplateProviderContract instead.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public getMappings():array
Deprecated!

Whole interface is deprecated

Returns the different mapping sections including the information which data provider fills them. Each entry in the array represents a section of the catalogue UI.

public getFilter():array
Deprecated!

Whole interface is deprecated

Returns the filters that will be applied in each export of templates that will be booted by this provider.

public getPreMutators():array
Deprecated!

Whole interface is deprecated

Returns the callback functions that will be applied to the raw data (so before the mapping occurs) of each item in the export. Every callback function will receive an array of the raw item data and should return this array with the changes that should be applied (e.g. function (array $item){ --your code-- return $item}).

public getPostMutators():array
Deprecated!

Whole interface is deprecated

Returns the callback functions that will be applied to the mapped data of each item in the export. Every callback function will receive an array of the mapped item data und should return this array with the changes that should be applied (e.g. function (array $item){ --your code-- return $item}).

public getSkuCallback():callable
Deprecated!

Whole interface is deprecated

Returns a callback function that is called if a field with the specific key "sku" got mapped. The function will receive the value that got mapped, the raw data array of this item and the type of the mapped source. It should return the new value (e.g. function ($value, array $item, $mappingType){ --your code-- return $value})).

public getSettings():array
Deprecated!

Whole interface is deprecated

Returns an array of settings that will be displayed in the UI of each catalogue with a template that uses this provider. The selected values for all those settings can then be used in the export.

public getMetaInfo():array
Deprecated!

Whole interface is deprecated

Returns an array of meta information which can be used to forward information to the export which could otherwise not be received.

DataProviderContract

The DataProviderContract is the interface for data providers. Data providers provide the available fields that can be mapped in a template to create a catalogue. Whenever it is possible, use one of the concrete implementations Plenty\Modules\Catalog\DataProviders\BaseDataProvider, Plenty\Modules\Catalog\DataProviders\KeyDataProvider or Plenty\Modules\Catalog\DataProviders\NestedKeyDataProvider.

Deprecated!

Use \Plenty\Modules\Catalog\Contracts\CatalogTemplateFieldContract instead.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public getData($query = ""):array
Deprecated!

Whole interface is deprecated

Returns the data that should be provided.

Parameters

Name

Type

Description

$query

string

public setTemplate($template):void
Deprecated!

Whole interface is deprecated

Parameters

Name

Type

Description

$template

TemplateContract

public setMapping($mapping):void
Deprecated!

Whole interface is deprecated

Parameters

Name

Type

Description

$mapping

array

FieldGroupRepositoryContract

The FieldGroupRepositoryContract is the contract for the field group repository. It allows to retrieve fields of a field group. Field groups represent the different groups of available sources that can be seen in the data picker component in the catalogue UI. Each field represents a mappable source.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public getFields($id, $page, $itemsPerPage, $parentId = null):Plenty\Repositories\Models\PaginatedResult
Return type: PaginatedResult

Get list of fields

Parameters

Name

Type

Description

$id

string

$page

int

$itemsPerPage

int

$parentId

string

public getSearchFields($id, $hidden = []):array

Get list of fields for search

Parameters

Name

Type

Description

$id

string

$hidden

array

public getFieldById($id, $fieldId):array

Get field by id

Parameters

Name

Type

Description

$id

string

$fieldId

string

public getFieldsByCatalogId($id, $catalogId):array

Get Fields by id of the catalog

Parameters

Name

Type

Description

$id

string

$catalogId

string

public fieldValuesTree($id, $page, $itemsPerPage):array
Parameters

Name

Type

Description

$id

string

$page

int

$itemsPerPage

int

NestedDataProviderContract

The NestedDataProviderContract is the interface for nested data providers. Nested data providers are used to provide nested options that can be selected for export. E.g. a list of categories of a specific marketplace. Whenever it is possible, use the concrete implementation Plenty\Modules\Catalog\DataProviders\NestedKeyDataProvider.

Deprecated!

Use \Plenty\Modules\Catalog\Contracts\CatalogTemplateFieldContract instead.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public getNestedData($parentId, $query = "", $meta = []):array
Deprecated!

Whole interface is deprecated

Returns the data of a specific level, which is determined via the id of a parent value.

Parameters

Name

Type

Description

$parentId

string

$query

string

$meta

array

public getDataByValue($id):array
Deprecated!

Whole interface is deprecated

Returns a specific value of the nested data determined by its id.

Parameters

Name

Type

Description

$id

string

public getData($query = ""):array
Deprecated!

Whole interface is deprecated

Returns the data that should be provided.

Parameters

Name

Type

Description

$query

string

public setTemplate($template):void
Deprecated!

Whole interface is deprecated

Parameters

Name

Type

Description

$template

TemplateContract

public setMapping($mapping):void
Deprecated!

Whole interface is deprecated

Parameters

Name

Type

Description

$mapping

array

TemplateContainerContract

The TemplateContainerContract is the interface of the template container. The template container is a singleton, which allows to register and retrieve templates.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public register($name, $type, $providerClass = "", $exportType = "Plenty\Modules\Catalog\Dummy\VariationCatalogExportType"):Plenty\Modules\Catalog\Contracts\TemplateContract
Return type: TemplateContract

Registers a new template that can be used to create a catalogue.

Parameters

Name

Type

Description

$name

string

The specific name of the template

$type

string

The type of the template. Multiple templates can be grouped in one type

$providerClass

string

Class name of the provider that boots the template

$exportType

string

Determines which data is available for mappings in the export. The default is variation data. (Currently only variation data can be exported via catalogues.)

public getTemplates():array

Returns all registered templates.

public getTemplate($identifier):Plenty\Modules\Catalog\Contracts\TemplateContract
Return type: TemplateContract

Returns a specific template by its identifier.

Parameters

Name

Type

Description

$identifier

string

public getTemplateWithoutBootingIt($identifier):Plenty\Modules\Catalog\Contracts\TemplateContract
Return type: TemplateContract

Returns a specific template by its identifier without booting it.

Parameters

Name

Type

Description

$identifier

string

TemplateContract

The TemplateContract is the interface for templates. Templates are used to define a specific schema that can be used to create and configure a catalogue.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public getName():string

Returns the name of the template.

public getType():string

Returns the type of the template.

public getExportType():string

Returns the export type of the template.

public getMappings():array
Deprecated!

All templates that are provided by \Plenty\Modules\Catalog\Contracts\CatalogGroupedTemplateProviderContract should use Plenty\Modules\Catalog\Contracts\TemplateContract::getGroupContainer instead.

Returns the mappings of a template.

public addMapping($mapping):void
Deprecated!

All templates that are provided by \Plenty\Modules\Catalog\Contracts\CatalogGroupedTemplateProviderContract should use Plenty\Modules\Catalog\Contracts\TemplateContract::addGroupContainer instead.

Adds a mapping to the template. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$mapping

array

public getGroupContainer():Plenty\Modules\Catalog\Containers\TemplateGroupContainer
Return type: TemplateGroupContainer

Returns a container that contains all groups of fields that are present in this template. Each group will represent a portlet in the catalog UI. The order of the portlets is identical to the order the groups were added to the container.

public addGroupContainer($groupContainer):void

Adds a group of fields to the template. Those groups will be displayed in the UI. The position in the UI depends on the order of adding the groups to the template.

Parameters

Name

Type

Description

$groupContainer

TemplateGroupContainer

public addMutator($callback):void
Deprecated!

Use Plenty\Modules\Catalog\Contracts\TemplateContract::setPostMutator instead.

Parameters

Name

Type

Description

$callback

callable

public addPreMutator($callback):void
Deprecated!

Premutators will be removed entirely in the near future. Please do not use them in any new implementation.

Adds a pre mutator to the template. Pre mutators are applied to the export data before the mapping occurs. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$callback

callable

public addPostMutator($callback):void
Deprecated!

Use Plenty\Modules\Catalog\Contracts\TemplateContract::setPreMutator or Plenty\Modules\Catalog\Contracts\TemplateContract::setPostMutator instead.

Adds a post mutator to the template. Post mutators are applied to the export data once the mapping occurred. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$callback

callable

public setPreMutator($preMutator):void
Deprecated!

Premutators will be removed entirely in the near future. Please do not use them in any new implementation

Defines the pre mutator of the template. The pre mutator is applied to the export data before the mapping occurs. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$preMutator

CatalogMutatorContract

public setPostMutator($postMutator):void

Defines the post mutator of the template. The post mutator is applied to the export data once the mapping occurred. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$postMutator

CatalogMutatorContract

public getFilter():array
Deprecated!

Filters should be consumed throgh getFilterContainer().

Returns the filters of the template.

public addFilter($filter):void
Deprecated!

Filters should now be added to the filter container. The container can be set through setFilterContainer().

Adds a filter to the template. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$filter

array

public getIdentifier():string

Returns the unique identifier of the template.

public getMutators():array
Deprecated!

Use Plenty\Modules\Catalog\Contracts\TemplateContract::getPreMutators or Plenty\Modules\Catalog\Contracts\TemplateContract::getPostMutators instead.

public getPreMutators():array
Deprecated!

Use Plenty\Modules\Catalog\Contracts\TemplateContract::getPreMutator instead.

Returns the pre mutators of the template.

public getPostMutators():array
Deprecated!

Use Plenty\Modules\Catalog\Contracts\TemplateContract::getPostMutator instead.

Returns the post mutators of the template.

public getPreMutator():Plenty\Modules\Catalog\Contracts\CatalogMutatorContract
Deprecated!

Premutators will be removed entirely in the near future. Please do not use them in any new implementation.

Return type: CatalogMutatorContract

Returns the pre mutator of the template.

public getPostMutator():Plenty\Modules\Catalog\Contracts\CatalogMutatorContract
Return type: CatalogMutatorContract

Returns the post mutator of the template.

public setSkuCallback($callback):void

Defines the callback function that will be called after the mapping is done for a field with the key "sku".

Parameters

Name

Type

Description

$callback

callable

public getSkuCallback():callable

Retrieves the callback function that will be called after the mapping is done for a field with the key "sku".

public addSetting($setting):void

Adds a setting to the templates. Settings create components in the UI of catalogues which use this template. The components will provide data for the export in accordance with the user input in the catalogue. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$setting

array

public getSettings():array

Returns the settings of a template.

public setMetaInfo($meta):void

Sets the meta info for a template. Meta info is used to provide data which has to be known when working with the template. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$meta

array

public getMetaInfo():array

Returns the meta info of a template.

public isPreviewable():bool

Determines if this template supports preview exports

public allowPreview($isPreviewable):void

Used to activate / deactivate the possibility to export previews through this template

Parameters

Name

Type

Description

$isPreviewable

bool

public allowExtendedMappings($allowExtendedMappings):void

Used to activate / deactivate the possibility to extend the mappings with fields that are not present in the template

Parameters

Name

Type

Description

$allowExtendedMappings

bool

public allowsCustomFilter():bool

Determines if this template enable/disable custom filters

public allowCustomFilter($allowsCustomFilter):void

Used to activate / deactivate the possibility to apply custom filters

Parameters

Name

Type

Description

$allowsCustomFilter

bool

public setCustomFilters($allowsCustomFilter):bool

Disable or not the custom filters

Parameters

Name

Type

Description

$allowsCustomFilter

bool

public hasRuntimeConfig():bool
public hasResultConverter():bool
Deprecated!

Use getResultConverterContainer() instead

public getRuntimeConfig():Plenty\Modules\Catalog\Contracts\CatalogRuntimeConfigContract
Deprecated!

Use getDynamicConfig() instead

Return type: CatalogRuntimeConfigContract
public getResultConverter():Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Deprecated!

Use getResultConverterContainer() instead

Return type: CatalogResultConverterContract
public getCustomFilter():array
Deprecated!

Custom filters should be consumed throgh getCustomFilterContainer().

Returns the custom filters of the template.

public addCustomFilter($customFilter):void
Deprecated!

Filters should now be added to the filter container. The container can be set through setFilterContainer().

Adds a custom filter to the template. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$customFilter

array

public getCustomFilterContainer():Plenty\Modules\Catalog\Containers\Filters\CatalogFilterBuilderContainer
Return type: CatalogFilterBuilderContainer

Returns the container that collects all custom filters of this specific template.

public getFilterContainer():Plenty\Modules\Catalog\Containers\Filters\CatalogFilterBuilderContainer
Return type: CatalogFilterBuilderContainer

Returns the container that collects all filters of this specific template.

public setCustomFilterContainer($customFilterContainer):void

Sets the container that collects all custom filters of this specific template.

Parameters

Name

Type

Description

$customFilterContainer

CatalogFilterBuilderContainer

public setFilterContainer($filterContainer):void

Sets the container that collects all filters of this specific template.

Parameters

Name

Type

Description

$filterContainer

CatalogFilterBuilderContainer

public getAssignments():array

Returns the general assignment of the template.

public addAssignment($assignment):void

Adds a general assignment to the template. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$assignment

array

public getDynamicConfig():Plenty\Modules\Catalog\Contracts\CatalogDynamicConfigContract
Return type: CatalogDynamicConfigContract
public isBooted():bool

Returns the current boot state of the template.

public translatedToArray($language):array
Parameters

Name

Type

Description

$language

string

public getDefaultCatalogSettings():array

Returns the default settings a catalog that is created through this template will contain.

public getResultConverterContainer():Plenty\Modules\Catalog\Services\Converter\Containers\ResultConverterContainer
Return type: ResultConverterContainer

Returns the container including all registered result converters of the template

public toArray():array

Get the instance as an array.

public jsonSerialize():void

TemplateRepositoryContract

The TemplateRepositoryContract is the interface for the template repository. It allows to retrieve templates and their mappings.

Namespace

Plenty\Modules\Catalog\Contracts

Methods
public getTemplates():array

Get list of templates

public getTemplate($id, $data):array

Get template

Parameters

Name

Type

Description

$id

string

$data

string

public getMappings($id):array

Get list of mappings

Parameters

Name

Type

Description

$id

string

public getMapping($id, $mappingId):array

Get mapping

Parameters

Name

Type

Description

$id

string

$mappingId

string

public getMappingData($id, $mappingId, $parentId = null):array

Get mapping data

Parameters

Name

Type

Description

$id

string

$mappingId

string

$parentId

string

public getMappingDataById($id, $mappingId, $dataId):array

Get mapping data by id

Parameters

Name

Type

Description

$id

string

$mappingId

string

$dataId

string

public test($id):void

Test export of a catalog

Parameters

Name

Type

Description

$id

string

public getAllMappings($id):array

Get all mappings

Parameters

Name

Type

Description

$id

string

public getAssignments($id):array

Get assignments

Parameters

Name

Type

Description

$id

string

DataProviders

BaseDataProvider

The BaseDataProvider is used to define a section of simple mappings in the catalogue. A simple mapping refers to the assignment of a value in the plentymarkets system or a manually predefined value to a specific key. E.g. mapping the value of a specific text property to the key 'description'.

Deprecated!

Use Plenty\Modules\Catalog\Models\SimpleTemplateField instead.

Namespace

Plenty\Modules\Catalog\DataProviders

Methods
public getRows():array
public setTemplate($template):void
Parameters

Name

Type

Description

$template

TemplateContract

public setMapping($mapping):void
Parameters

Name

Type

Description

$mapping

array

KeyDataProvider

The KeyDataProvider is used to define a section of a complex mapping in the catalogue. A complex mapping refers to the assignment of a value from a predefined list of possible values to a key if a specific requirement is met. E.g. put the value 'awesomeBrand' into the key 'brand', if manufacturer 'awesomeManufacturer' is linked to a variation.

Deprecated!

Use Plenty\Modules\Catalog\Models\ComplexTemplateField instead.

Namespace

Plenty\Modules\Catalog\DataProviders

Methods
public getKey():string
public getRows():array
public setTemplate($template):void
Parameters

Name

Type

Description

$template

TemplateContract

public setMapping($mapping):void
Parameters

Name

Type

Description

$mapping

array

NestedKeyDataProvider

The NestedKeyDataProvider is used to define a section of a complex mapping in the catalogue. It is specifically used if the list of available values contains nested values. E.g. a list of categories with sub-categories.

Deprecated!

Use Plenty\Modules\Catalog\Models\ComplexTemplateField instead.

Namespace

Plenty\Modules\Catalog\DataProviders

Methods
public getKey():string
public getNestedRows($parentId):array
Parameters

Name

Type

Description

$parentId

public getMetaData():void
public getNestedData($parentId, $query = "", $meta = []):array
Parameters

Name

Type

Description

$parentId

string

$query

string

$meta

array

public getRows():array
public setTemplate($template):void
Parameters

Name

Type

Description

$template

TemplateContract

public setMapping($mapping):void
Parameters

Name

Type

Description

$mapping

array

public getDataByValue($id):array
Deprecated!

Whole interface is deprecated

Returns a specific value of the nested data determined by its id.

Parameters

Name

Type

Description

$id

string

Helpers

ContentTypeHelper

Provides a list of valid content types that can be returned in a CatalogResultConverter

Namespace

Plenty\Modules\Catalog\Helpers

Methods
public static isValidType($type):bool

Checks wether a given type is valid as return type in a CatalogResultConverter

Parameters

Name

Type

Description

$type

string

Models

Catalog

The catalog model - stores on S3

Namespace

Plenty\Modules\Catalog\Models

Properties
Name Type Description

data

array

Contains the mappings and template settings

settings

array

Contains the settings

name

string

The name of the catalogue

template

string

The id of the template that was used to create the catalogue

id

string

The id of the catalogue

active

bool

Determines whether a catalogue can be exported

showMandatoryFields

bool

Determines if only the mandatory fields should be displayed in the catalogue UI

updatedAt

string

The updated at date in W3C

createdAt

string

The created at date in W3C

Methods
public toArray()

Returns this model as an array.

CatalogExportResult

The CatalogExportResult represents the exported data in a specific catalogue export. It implements the Iterator interface and can therefore be used in a foreach loop to retrieve the different pages of the export data.

Namespace

Plenty\Modules\Catalog\Models

Methods
public toArray()

Returns this model as an array.

CatalogMappingValue

A CatalogMappingValue represents a single available option in the catalog UI.

Namespace

Plenty\Modules\Catalog\Models

Methods
public __construct($identifier, $label, $exportValue, $parentId = null, $hasChildren = false):void

CatalogMappingValue constructor.

Parameters

Name

Type

Description

$identifier

string

$label

string

$exportValue

$parentId

string

$hasChildren

bool

public getIdentifier():string
public getLabel():string
public getExportValue():void
public hasChildren():bool
public getParentId():string
public toArray():array
Deprecated!

This is deprecated and will only return an empty array.

CombinedTemplateField

A combined template field is a mix out of simple and complex template fields. You can define a field with predefined valid values, which will be exported if all nested fields were filled successfully in the export. An example is a barcode type. The customer can choose a barcode type, that is exported if the field barcode was successfully mapped with a specific source.

Namespace

Plenty\Modules\Catalog\Models

Methods
public __construct($exportKey, $key, $label, $catalogMappingValueProvider, $catalogTemplateFieldContainer, $isRequired = false, $isLocked = false, $isArray = false, $meta = [], $defaultSources = []):void

CombinedTemplateField constructor.

Parameters

Name

Type

Description

$exportKey

string

$key

string

$label

string

$catalogMappingValueProvider

CatalogMappingValueProviderContract

$catalogTemplateFieldContainer

CatalogTemplateFieldContainer

$isRequired

bool

$isLocked

bool

$isArray

bool

$meta

array

$defaultSources

array

public getKey():string
public getLabel():string
public isRequired():bool
public isLocked():bool
public isArray():bool
public getMeta():array
public getCallable():Plenty\Modules\Catalog\Contracts\CatalogTemplateFieldCallableContract
Return type: CatalogTemplateFieldCallableContract
public getMappingValueProvider():Plenty\Modules\Catalog\Contracts\CatalogMappingValueProviderContract
Return type: CatalogMappingValueProviderContract
public getDefaultSources():array
public getExportKey():string
public getNestedFields():Plenty\Modules\Catalog\Containers\CatalogTemplateFieldContainer
Return type: CatalogTemplateFieldContainer
public getType():int
public setCallable($callable):void
Parameters

Name

Type

Description

$callable

CatalogTemplateFieldCallableContract

public toArray():array
Deprecated!

This is deprecated and will only return an empty array.

ComplexTemplateField

A complex template field is used for Mappings with predefined valid values. The user has to choose a valid value and then provide a condition, which determines in which cases this value will be sent.

Namespace

Plenty\Modules\Catalog\Models

Methods
public __construct($exportKey, $key, $label, $catalogMappingValueProvider, $isRequired = false, $isLocked = false, $isArray = false, $meta = [], $defaultSources = []):void

ComplexTemplateField constructor.

Parameters

Name

Type

Description

$exportKey

string

$key

string

$label

string

$catalogMappingValueProvider

CatalogMappingValueProviderContract

$isRequired

bool

$isLocked

bool

$isArray

bool

$meta

array

$defaultSources

array

public getKey():string
public getLabel():string
public isRequired():bool
public isLocked():bool
public isArray():bool
public getMeta():array
public getCallable():Plenty\Modules\Catalog\Contracts\CatalogTemplateFieldCallableContract
Return type: CatalogTemplateFieldCallableContract
public getMappingValueProvider():Plenty\Modules\Catalog\Contracts\CatalogMappingValueProviderContract
Return type: CatalogMappingValueProviderContract
public getDefaultSources():array
public getExportKey():string
public getNestedFields():Plenty\Modules\Catalog\Containers\CatalogTemplateFieldContainer
Return type: CatalogTemplateFieldContainer
public getType():int
public setCallable($callable):void
Parameters

Name

Type

Description

$callable

CatalogTemplateFieldCallableContract

public toArray():array
Deprecated!

This is deprecated and will only return an empty array.

SimpleTemplateField

A simple template field is used to fill a specific key through a data source which is defined by the user.

Namespace

Plenty\Modules\Catalog\Models

Methods
public __construct($exportKey, $key, $label, $isRequired = false, $isLocked = false, $isArray = false, $meta = [], $defaultSources = []):void

SimpleTemplateField constructor.

Parameters

Name

Type

Description

$exportKey

string

$key

string

$label

string

$isRequired

bool

$isLocked

bool

$isArray

bool

$meta

array

$defaultSources

array

public getKey():string
public getLabel():string
public isLocked():bool
public isArray():bool
public getMeta():array
public getCallable():Plenty\Modules\Catalog\Contracts\CatalogTemplateFieldCallableContract
Return type: CatalogTemplateFieldCallableContract
public getDefaultSources():array
public getMappingValueProvider():Plenty\Modules\Catalog\Contracts\CatalogMappingValueProviderContract
Return type: CatalogMappingValueProviderContract
public getExportKey():string
public getNestedFields():Plenty\Modules\Catalog\Containers\CatalogTemplateFieldContainer
Return type: CatalogTemplateFieldContainer
public getType():int
public isRequired():bool
public setCallable($callable):void
Parameters

Name

Type

Description

$callable

CatalogTemplateFieldCallableContract

public toArray():array
Deprecated!

This is deprecated and will only return an empty array.

TemplateGroup

A TemplateGroup represents a portlet in the catalog UI. Each container field will be displayed in the same portlet. The order of the fields depends on the order they were added into the group.

Namespace

Plenty\Modules\Catalog\Models

Methods
public __construct($identifier, $label):void

TemplateGroup constructor.

Parameters

Name

Type

Description

$identifier

string

$label

string

public addGroupField($field):void

Add a field to the group.

Parameters

Name

Type

Description

$field

CatalogTemplateFieldContract

public getIdentifier():string

Get the identifier of the group.

public getLabel():string

Get the label of the group. The label will be displayed in the UI.

public getFieldContainer():Plenty\Modules\Catalog\Containers\CatalogTemplateFieldContainer
Return type: CatalogTemplateFieldContainer

Get the CatalogTemplateFieldContainer that contains all the fields of the group.

public getField($key):Plenty\Modules\Catalog\Contracts\CatalogTemplateFieldContract
Return type: CatalogTemplateFieldContract

Get a field specified by its key.

Parameters

Name

Type

Description

$key

string

Templates

BaseTemplateProvider

The BaseTemplateProvider is the abstract class that should be used to implement a template provider.

Deprecated!

Use Plenty\Modules\Catalog\Templates\Providers\AbstractGroupedTemplateProvider instead.

Namespace

Plenty\Modules\Catalog\Templates

Methods
public getMappings():array
public getPreMutators():array
public getPostMutators():array
public getFilter():array
public getSkuCallback():callable
public getSettings():array
public getMetaInfo():array
public getCustomFilters():array
public getAssignments():array

Template

Templates are used to define a schema for the creation of catalogues.

Namespace

Plenty\Modules\Catalog\Templates

Methods
public getMappings():array

Returns the mappings of a template.

public addMapping($section):void

Adds a mapping to the template. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$section

array

public addMutator($callback):void
Deprecated!

Use Plenty\Modules\Catalog\Contracts\TemplateContract::addPreMutator or Plenty\Modules\Catalog\Contracts\TemplateContract::addPreMutator instead.

Parameters

Name

Type

Description

$callback

callable

public getMutators():array
Deprecated!

Use Plenty\Modules\Catalog\Contracts\TemplateContract::getPreMutators or Plenty\Modules\Catalog\Contracts\TemplateContract::getPostMutators instead.

public addPreMutator($callback):void

Adds a pre mutator to the template. Pre mutators are applied to the export data before the mapping occurs. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$callback

callable

public addPostMutator($callback):void

Adds a post mutator to the template. Post mutators are applied to the export data once the mapping occurred. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$callback

callable

public getFilter():array

Returns the filters of the template.

public addFilter($filter):void

Adds a filter to the template. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$filter

array

public getPreMutators():array

Returns the pre mutators of the template.

public getPostMutators():array

Returns the post mutators of the template.

public setSkuCallback($callback):void

Defines the callback function that will be called after the mapping is done for a field with the key "sku".

Parameters

Name

Type

Description

$callback

callable

public getSkuCallback():callable

Returns the callback function that will be called after the mapping is done for a field with the key "sku"

public addSetting($setting):void

Adds a setting to the templates. Settings create components in the UI of catalogues which use this template. The components will provide data for the export in accordance with the user input in the catalogue. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$setting

array

public getSettings():array

Returns the settings of a template.

public setMetaInfo($meta):void

Sets the meta info for a template. Meta info is used to provide data which has to be known when working with the template. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$meta

array

public getMetaInfo():void
public getGroupContainer():Plenty\Modules\Catalog\Containers\TemplateGroupContainer
Return type: TemplateGroupContainer
public addGroupContainer($groupContainer):void
Parameters

Name

Type

Description

$groupContainer

TemplateGroupContainer

public getPreMutator():Plenty\Modules\Catalog\Contracts\CatalogMutatorContract
Return type: CatalogMutatorContract
public getPostMutator():Plenty\Modules\Catalog\Contracts\CatalogMutatorContract
Return type: CatalogMutatorContract
public setPreMutator($preMutator):void
Parameters

Name

Type

Description

$preMutator

CatalogMutatorContract

public setPostMutator($postMutator):void
Parameters

Name

Type

Description

$postMutator

CatalogMutatorContract

public getCustomFilter():array

Returns the custom filters of the template.

public addCustomFilter($customFilter):void

Adds a custom filter to the template. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$customFilter

array

public getAssignments():array

Returns general assignments.

public addAssignment($assignment):void

Adds a general assignments to the template. If possible, don't use this directly and let it be handled by the catalogue template provider.

Parameters

Name

Type

Description

$assignment

array

public getName():string
public getExportType():string
public getType():string
public translatedToArray($language):array
Parameters

Name

Type

Description

$language

string

public toArray():array
public jsonSerialize():void
public getIdentifier():string
public getFormatSettings():array
public getExportSettings():array
public isPreviewable():bool
public allowPreview($isPreviewable):void
Parameters

Name

Type

Description

$isPreviewable

bool

public allowExtendedMappings($allowExtendedMappings):void
Parameters

Name

Type

Description

$allowExtendedMappings

bool

public allowsCustomFilter():bool
public allowCustomFilter($allowsCustomFilter):void
Parameters

Name

Type

Description

$allowsCustomFilter

bool

public setCustomFilters($allowsCustomFilter):bool
Parameters

Name

Type

Description

$allowsCustomFilter

bool

public getRuntimeConfig():Plenty\Modules\Catalog\Contracts\CatalogRuntimeConfigContract
Return type: CatalogRuntimeConfigContract
public getResultConverter():Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Deprecated!

Use getResultConverterContainer() instead

Return type: CatalogResultConverterContract
public hasRuntimeConfig():bool
public hasResultConverter():bool
Deprecated!

Use getResultConverterContainer() instead

public getDefaultCatalogSettings():array
public setDefaultCatalogSettings($defaultCatalogSettings):void
Parameters

Name

Type

Description

$defaultCatalogSettings

array

public getResultConverterContainer():Plenty\Modules\Catalog\Services\Converter\Containers\ResultConverterContainer
Return type: ResultConverterContainer
public hasExtendedMappings():bool
public getDynamicConfig():Plenty\Modules\Catalog\Contracts\CatalogDynamicConfigContract
Return type: CatalogDynamicConfigContract
public isBooted():bool
public getCustomFilterContainer():Plenty\Modules\Catalog\Containers\Filters\CatalogFilterBuilderContainer
Return type: CatalogFilterBuilderContainer
public getFilterContainer():Plenty\Modules\Catalog\Containers\Filters\CatalogFilterBuilderContainer
Return type: CatalogFilterBuilderContainer
public setCustomFilterContainer($customFilterContainer):void
Parameters

Name

Type

Description

$customFilterContainer

CatalogFilterBuilderContainer

public setFilterContainer($filterContainer):void
Parameters

Name

Type

Description

$filterContainer

CatalogFilterBuilderContainer

Containers

Filters

CatalogFilterBuilderContainer

The CatalogFilterBuilderContainer collects filter builders.

Namespace

Plenty\Modules\Catalog\Containers\Filters

Methods
public addFilterBuilder($filterBuilder):void
Parameters

Name

Type

Description

$filterBuilder

CatalogFilterBuilderContract

public getFilterBuilders():array

CatalogUiFilterContainer

The CatalogUiFilterContainer collects the ui representation of multiple filters.

Namespace

Plenty\Modules\Catalog\Containers\Filters

Methods
public addFilter($filter):void
Parameters

Name

Type

Description

$filter

CatalogUiFilter

public getFilters():array

CatalogUiFilterSelectionValueContainer

The CatalogUiFilterSelectionValueContainer collects available selection values for a filter.

Namespace

Plenty\Modules\Catalog\Containers\Filters

Methods
public addValue($value):void
Parameters

Name

Type

Description

$value

CatalogUiFilterSelectionValue

public getValues():array

Contracts

Filters

CatalogFilterBuilderContract

The CatalogFilterBuilderContract is the interface for catalog filter builder. They are used to collect data for filters and then retrieve the specific export or ui filter.

Namespace

Plenty\Modules\Catalog\Contracts\Filters

Methods
public getKey():string

Returns an identifier for the filter

public setFilterData($filterData):void

This method will be filled by the specified values in a catalog. It should be used to provide the necessary manipulation so the filter that is returned by getFilter can be consumed by the export.

Parameters

Name

Type

Description

$filterData

public getFilter($settings = []):void

Returns the filter that will be given to the export

Parameters

Name

Type

Description

$settings

array

public getUiFilter():Plenty\Modules\Catalog\Models\Filters\CatalogUiFilter
Return type: CatalogUiFilter

Returns the UI representation of the filter

Status

CatalogStatusRepositoryContract

Get, list, create, update and delete catalog statuses.

Namespace

Plenty\Modules\Catalog\Contracts\Status

Methods
public create($data):void

Create catalog status

Parameters

Name

Type

Description

$data

array

public get($id):void

Get a catalog status

Parameters

Name

Type

Description

$id

int

public getLatestStatusOfCatalog($catalogId, $type = "run", $subtype = "async"):Plenty\Modules\Catalog\Models\Status\CatalogStatus
Return type: CatalogStatus

Get the latest status of a specific catalog

Parameters

Name

Type

Description

$catalogId

string

$type

string

$subtype

string

public list($page = 1, $perPage = \Plenty\Modules\Catalog\Models\Status\CatalogStatus::ITEMS_PER_PAGE, $filters = []):Plenty\Repositories\Models\PaginatedResult
Return type: PaginatedResult

List catalog statuses

Parameters

Name

Type

Description

$page

int

$perPage

int

$filters

array

public update($id, $data):void

Update catalog status

Parameters

Name

Type

Description

$id

int

$data

array

public delete($id):void

Delete catalog status

Parameters

Name

Type

Description

$id

int

public clearCriteria():void

Resets all Criteria filters by creating a new instance of the builder object.

public applyCriteriaFromFilters():void

Applies criteria classes to the current repository.

public setFilters($filters = []):void

Sets the filter array.

Parameters

Name

Type

Description

$filters

array

public getFilters():void

Returns the filter array.

public getConditions():void

Returns a collection of parsed filters as Condition object

public clearFilters():void

Clears the filter array.

UI

UIOptionContract

The UIOptionContract is the interface for an individual catalogue option. This interface allows you to define UI options. The options are settings in the settings menu that can be defined in the backend.

Namespace

Plenty\Modules\Catalog\Contracts\UI

Methods
public getKey():string
public getLabel():string
public getType():string
public isVisible():bool
public isRequired():bool
public getDefaultValue():void
public getValues():Plenty\Modules\Catalog\Contracts\UI\UIValuesContract
Return type: UIValuesContract
public getChildren():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public setKey($key):Plenty\Modules\Catalog\Contracts\UI\UIOptionContract
Return type: UIOptionContract
Parameters

Name

Type

Description

$key

string

public setLabel($label):Plenty\Modules\Catalog\Contracts\UI\UIOptionContract
Return type: UIOptionContract
Parameters

Name

Type

Description

$label

string

public setType($type):Plenty\Modules\Catalog\Contracts\UI\UIOptionContract
Return type: UIOptionContract
Parameters

Name

Type

Description

$type

string

public setDefaultValue($defaultValue):Plenty\Modules\Catalog\Contracts\UI\UIOptionContract
Return type: UIOptionContract
Parameters

Name

Type

Description

$defaultValue

public setVisible($visible):Plenty\Modules\Catalog\Contracts\UI\UIOptionContract
Return type: UIOptionContract
Parameters

Name

Type

Description

$visible

bool

public setRequired($required):Plenty\Modules\Catalog\Contracts\UI\UIOptionContract
Return type: UIOptionContract
Parameters

Name

Type

Description

$required

bool

public setValues($values):Plenty\Modules\Catalog\Contracts\UI\UIOptionContract
Return type: UIOptionContract
Parameters

Name

Type

Description

$values

UIValuesContract

public setChildren($children):Plenty\Modules\Catalog\Contracts\UI\UIOptionContract
Return type: UIOptionContract
Parameters

Name

Type

Description

$children

UIOptionsContract

public toArray():array

Get the instance as an array.

UIOptionsContract

The UIOptionsContract is the interface for the catalogue options. This interface allows you to handle UI options. The options are settings in the settings menu that can be defined in the backend.

Namespace

Plenty\Modules\Catalog\Contracts\UI

Methods
public add($option, $key = null):Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract

Add an option

Parameters

Name

Type

Description

$option

UIOptionContract

$key

string

public toArray():array

Get the instance as an array.

UIValueContract

The UIValueContract is the interface for an individual catalogue option value. This interface allows you to define UI option values. The options are settings in the settings menu that can be defined in the backend.

Namespace

Plenty\Modules\Catalog\Contracts\UI

Methods
public getCaption():string
public getValue():void
public getColor():string
public getIcon():string
public setCaption($caption):Plenty\Modules\Catalog\Contracts\UI\UIValueContract
Return type: UIValueContract
Parameters

Name

Type

Description

$caption

string

public setValue($value):Plenty\Modules\Catalog\Contracts\UI\UIValueContract
Return type: UIValueContract
Parameters

Name

Type

Description

$value

public setColor($color):Plenty\Modules\Catalog\Contracts\UI\UIValueContract
Return type: UIValueContract
Parameters

Name

Type

Description

$color

string

public setIcon($icon):Plenty\Modules\Catalog\Contracts\UI\UIValueContract
Return type: UIValueContract
Parameters

Name

Type

Description

$icon

string

public toArray():array

Get the instance as an array.

UIValuesContract

The UIValuesContract is the interface for the catalogue option values. This interface allows you to handle UI option values. The options are settings in the settings menu that can be defined in the backend.

Namespace

Plenty\Modules\Catalog\Contracts\UI

Methods
public add($value):Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract

Add a value

Parameters

Name

Type

Description

$value

UIValueContract

public toArray():array

Get the instance as an array.

Example

Model

Example

The example model.

Namespace

Plenty\Modules\Catalog\Legacy\ElasticExport\Example\Model

Properties
Name Type Description

exampleId

int

The ID of the example

exampleName

string

The Name of the example

exampleText

string

The text of the example

examplePrice

float

The Price of the example

Methods
public toArray()

Returns this model as an array.

Models

Filters

CatalogUiFilter

A catalog UI filter provides the information that is necessary for a filter to be displayed in the UI.

Namespace

Plenty\Modules\Catalog\Models\Filters

Methods
public getKey():string
public getLabel():string
public required():bool
public getType():string
public isVisible():bool
public getDefaultValue():void
public getValues():array
public getNestedUiFilterContainer():Plenty\Modules\Catalog\Containers\Filters\CatalogUiFilterContainer
Return type: CatalogUiFilterContainer
public setNestedUiFilterContainer($nestedUiFilterContainer):void
Parameters

Name

Type

Description

$nestedUiFilterContainer

CatalogUiFilterContainer

public setSelectionValueContainer($selectionValueContainer):void
Parameters

Name

Type

Description

$selectionValueContainer

CatalogUiFilterSelectionValueContainer

public getSelectionValueContainer():Plenty\Modules\Catalog\Containers\Filters\CatalogUiFilterSelectionValueContainer

CatalogUiFilterSelectionValue

A catalog UI filter selection value represents an available filter option in the UI.

Namespace

Plenty\Modules\Catalog\Models\Filters

Methods
public getCaption():string
public getValue():void
public setIcon($icon, $color = null):void

Sets the icon and color to show and image in the select of the filter

Parameters

Name

Type

Description

$icon

string

$color

string

public getIcon():void
public getColor():void

Status

CatalogStatus

The catalog status model.

Namespace

Plenty\Modules\Catalog\Models\Status

Properties
Name Type Description

id

int

The ID of the status

catalog_id

int

The ID of the catalog

type

string

The type of status ( run, etc )

subtype

string

The subtype of the status ( marketplace, async, etc )

has_data

bool

The check if it has a status file on S3

has_logs

bool

The check if it has logs on S3

initiator

string

The initiator of this status. Who started it. ( User, Cron, Marketplace )

initiator_id

string

The initiator ID

state

string

The state of this status (Starting, Processing, Completed, Failed, etc)

total

int

The total count of what needs to be processed

processed

int

The processed count

successful

int

The successful processes count

createdAt

The date when the status was created

updatedAt

The date when the status was last updated

Methods
public toArray()

Returns this model as an array.

Services

Collections

CatalogLazyCollection

LazyCollection wrapper with limited access. Only specific methods are allowed.

Namespace

Plenty\Modules\Catalog\Services\Collections

Methods
public each($callback):void

Iterates through results. Results can be the chunks if the collection is chunked.

Parameters

Name

Type

Description

$callback

callable

public toArray():array
public chunk($size = self::MAX_CHUNK_SIZE):Plenty\Modules\Catalog\Services\Collections\CatalogLazyCollection

FileHandlers

ResourceHandler

Handles writing on resources.

Namespace

Plenty\Modules\Catalog\Services\FileHandlers

Methods
public write($string):void

Write to resource

Parameters

Name

Type

Description

$string

string

public writeCSV($fields, $separator = ",", $enclosure = null, $escape = null):void

Write CSV to resource

Parameters

Name

Type

Description

$fields

array

$separator

string

$enclosure

string

$escape

string

public writeJSONLine($data):void

Write a JSON line to build a JSONL file

Parameters

Name

Type

Description

$data

public rewind():bool

Rewinds resource

Converter

Containers

DefaultResultConverterContainer

The DefaultResultConverterContainer collects all result converters for a specific template and is prefilled with all default result converters.

Namespace

Plenty\Modules\Catalog\Services\Converter\Containers

Methods
public addResultConverter($resultConverter, $isDefault = false):void
Parameters

Name

Type

Description

$resultConverter

BaseResultConverter

$isDefault

bool

Defines if the added converter will be the default converter for newly generated catalogs. If no default is provided the first registered provider will be used.

public getResultConverters():array
public getResultConvertersCount():int
public getResultConverter($key):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract
Parameters

Name

Type

Description

$key

string

public getDefaultResultConverter():Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract

ResultConverterContainer

The DefaultResultConverterContainer collects all result converters for a specific template.

Namespace

Plenty\Modules\Catalog\Services\Converter\Containers

Methods
public addResultConverter($resultConverter, $isDefault = false):void
Parameters

Name

Type

Description

$resultConverter

BaseResultConverter

$isDefault

bool

Defines if the added converter will be the default converter for newly generated catalogs. If no default is provided the first registered provider will be used.

public getResultConverters():array
public getResultConvertersCount():int
public getResultConverter($key):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract
Parameters

Name

Type

Description

$key

string

public getDefaultResultConverter():Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract

ResultConverters

BaseResultConverter

Base Result converter

Namespace

Plenty\Modules\Catalog\Services\Converter\ResultConverters

Methods
public toDownload($resourceHandler):void

Convert and prepare resource for download

Parameters

Name

Type

Description

$resourceHandler

ResourceHandler

public toMarketplace():void

Convert and prepare data for marketplace

public fromArray($data):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from an array

Parameters

Name

Type

Description

$data

array

public fromCollection($collection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a Collection

Parameters

Name

Type

Description

$collection

Collection

public fromCatalogLazyCollection($catalogLazyCollection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogLazyCollection

Parameters

Name

Type

Description

$catalogLazyCollection

CatalogLazyCollection

public fromCatalogExportResult($exportResult):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogExportResult

Parameters

Name

Type

Description

$exportResult

CatalogExportResult

public getOptions():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract

Get the options

public getChunkSize():int

Get the lazy collection's chunk size

public getMIME():string

Get the mime type of the resource returned by this converter

public getFileExtension():string

Get the file extension of the resource returned by this converter

public getSourceCollection():Plenty\Modules\Catalog\Services\Collections\CatalogLazyCollection
Return type: CatalogLazyCollection

Get the source lazy collection

public setSettings($settings = []):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Set settings that you need to use in your converter

Parameters

Name

Type

Description

$settings

array

public addData($data):void

Through this a single entry of a catalog result should be added

Parameters

Name

Type

Description

$data

public getConvertedResult():string

Converts the data that was inserted into the specific output format

public clear():void

Removes all the data that was previously added to this instance

public getType():string

Returns the type of the converted result

public getKey():string

Returns the identifier for this result converter. Has to be unique in its templates scope.

public getLabel():string

Returns the readable representation for this converter

ResultConverters

Defaults

CSVResultConverter

Default CSV Result converter

Namespace

Plenty\Modules\Catalog\Services\Converter\ResultConverters\Defaults

Methods
public getKey():string
public getLabel():string
public getOptions():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public toDownload($resourceHandler):void

Convert and prepare resource for download

Parameters

Name

Type

Description

$resourceHandler

ResourceHandler

public toMarketplace():void

Convert and prepare data for marketplace

public fromArray($data):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from an array

Parameters

Name

Type

Description

$data

array

public fromCollection($collection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a Collection

Parameters

Name

Type

Description

$collection

Collection

public fromCatalogLazyCollection($catalogLazyCollection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogLazyCollection

Parameters

Name

Type

Description

$catalogLazyCollection

CatalogLazyCollection

public fromCatalogExportResult($exportResult):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogExportResult

Parameters

Name

Type

Description

$exportResult

CatalogExportResult

public getChunkSize():int

Get the lazy collection's chunk size

public getMIME():string

Get the mime type of the resource returned by this converter

public getFileExtension():string

Get the file extension of the resource returned by this converter

public getSourceCollection():Plenty\Modules\Catalog\Services\Collections\CatalogLazyCollection
Return type: CatalogLazyCollection

Get the source lazy collection

public setSettings($settings = []):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Set settings that you need to use in your converter

Parameters

Name

Type

Description

$settings

array

public addData($data):void

Through this a single entry of a catalog result should be added

Parameters

Name

Type

Description

$data

public getConvertedResult():string

Converts the data that was inserted into the specific output format

public clear():void

Removes all the data that was previously added to this instance

public getType():string

Returns the type of the converted result

JSONResultConverter

Default JSON Result converter

Namespace

Plenty\Modules\Catalog\Services\Converter\ResultConverters\Defaults

Methods
public getKey():string
public getLabel():string
public toDownload($resourceHandler):void

Convert and prepare resource for download

Parameters

Name

Type

Description

$resourceHandler

ResourceHandler

public toMarketplace():void

Convert and prepare data for marketplace

public fromArray($data):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from an array

Parameters

Name

Type

Description

$data

array

public fromCollection($collection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a Collection

Parameters

Name

Type

Description

$collection

Collection

public fromCatalogLazyCollection($catalogLazyCollection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogLazyCollection

Parameters

Name

Type

Description

$catalogLazyCollection

CatalogLazyCollection

public fromCatalogExportResult($exportResult):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogExportResult

Parameters

Name

Type

Description

$exportResult

CatalogExportResult

public getOptions():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract

Get the options

public getChunkSize():int

Get the lazy collection's chunk size

public getMIME():string

Get the mime type of the resource returned by this converter

public getFileExtension():string

Get the file extension of the resource returned by this converter

public getSourceCollection():Plenty\Modules\Catalog\Services\Collections\CatalogLazyCollection
Return type: CatalogLazyCollection

Get the source lazy collection

public setSettings($settings = []):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Set settings that you need to use in your converter

Parameters

Name

Type

Description

$settings

array

public addData($data):void

Through this a single entry of a catalog result should be added

Parameters

Name

Type

Description

$data

public getConvertedResult():string

Converts the data that was inserted into the specific output format

public clear():void

Removes all the data that was previously added to this instance

public getType():string

Returns the type of the converted result

TXTResultConverter

Default TXT Result converter

Namespace

Plenty\Modules\Catalog\Services\Converter\ResultConverters\Defaults

Methods
public from($data):Plenty\Modules\Catalog\Services\Converter\ResultConverters\BaseResultConverter
Return type: BaseResultConverter
Parameters

Name

Type

Description

$data

public getLabel():string
public getKey():string
public getOptions():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public toDownload($resourceHandler):void

Convert and prepare resource for download

Parameters

Name

Type

Description

$resourceHandler

ResourceHandler

public toMarketplace():void

Convert and prepare data for marketplace

public fromArray($data):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from an array

Parameters

Name

Type

Description

$data

array

public fromCollection($collection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a Collection

Parameters

Name

Type

Description

$collection

Collection

public fromCatalogLazyCollection($catalogLazyCollection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogLazyCollection

Parameters

Name

Type

Description

$catalogLazyCollection

CatalogLazyCollection

public fromCatalogExportResult($exportResult):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogExportResult

Parameters

Name

Type

Description

$exportResult

CatalogExportResult

public getChunkSize():int

Get the lazy collection's chunk size

public getMIME():string

Get the mime type of the resource returned by this converter

public getFileExtension():string

Get the file extension of the resource returned by this converter

public getSourceCollection():Plenty\Modules\Catalog\Services\Collections\CatalogLazyCollection
Return type: CatalogLazyCollection

Get the source lazy collection

public setSettings($settings = []):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Set settings that you need to use in your converter

Parameters

Name

Type

Description

$settings

array

public addData($data):void

Through this a single entry of a catalog result should be added

Parameters

Name

Type

Description

$data

public getConvertedResult():string

Converts the data that was inserted into the specific output format

public clear():void

Removes all the data that was previously added to this instance

public getType():string

Returns the type of the converted result

XMLResultConverter

Default XML Result converter

Namespace

Plenty\Modules\Catalog\Services\Converter\ResultConverters\Defaults

Methods
public getKey():string
public getLabel():string
public getOptions():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public toDownload($resourceHandler):void

Convert and prepare resource for download

Parameters

Name

Type

Description

$resourceHandler

ResourceHandler

public toMarketplace():void

Convert and prepare data for marketplace

public fromArray($data):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from an array

Parameters

Name

Type

Description

$data

array

public fromCollection($collection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a Collection

Parameters

Name

Type

Description

$collection

Collection

public fromCatalogLazyCollection($catalogLazyCollection):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogLazyCollection

Parameters

Name

Type

Description

$catalogLazyCollection

CatalogLazyCollection

public fromCatalogExportResult($exportResult):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Convert from a CatalogExportResult

Parameters

Name

Type

Description

$exportResult

CatalogExportResult

public getChunkSize():int

Get the lazy collection's chunk size

public getMIME():string

Get the mime type of the resource returned by this converter

public getFileExtension():string

Get the file extension of the resource returned by this converter

public getSourceCollection():Plenty\Modules\Catalog\Services\Collections\CatalogLazyCollection
Return type: CatalogLazyCollection

Get the source lazy collection

public setSettings($settings = []):Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract

Set settings that you need to use in your converter

Parameters

Name

Type

Description

$settings

array

public addData($data):void

Through this a single entry of a catalog result should be added

Parameters

Name

Type

Description

$data

public getConvertedResult():string

Converts the data that was inserted into the specific output format

public clear():void

Removes all the data that was previously added to this instance

public getType():string

Returns the type of the converted result

Elements

Base

BaseUIOption

Base UI Option

Namespace

Plenty\Modules\Catalog\Services\UI\Options\Elements\Base

Methods
public toArray():void
public getKey():string
public getLabel():string
public getType():string
public getDefaultValue():void
public isVisible():bool
public isRequired():bool
public getValues():Plenty\Modules\Catalog\Contracts\UI\UIValuesContract
Return type: UIValuesContract
public getChildren():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public setKey($key):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$key

string

public setLabel($label):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$label

string

public setType($type):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$type

string

public setDefaultValue($defaultValue):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$defaultValue

public setVisible($visible):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$visible

bool

public setRequired($required):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$required

bool

public setValues($values):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$values

UIValuesContract

public setChildren($children):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$children

UIOptionsContract

Value

Base UI Option value

Namespace

Plenty\Modules\Catalog\Services\UI\Options\Elements\Values\Elements\Base

Methods
public toArray():void
public getCaption():string
public getValue():void
public getColor():string
public getIcon():string
public setCaption($caption):Plenty\Modules\Catalog\Services\UI\Options\Elements\Values\Elements\Base\Value
Return type: Value
Parameters

Name

Type

Description

$caption

string

public setValue($value):Plenty\Modules\Catalog\Services\UI\Options\Elements\Values\Elements\Base\Value
Return type: Value
Parameters

Name

Type

Description

$value

public setColor($color):Plenty\Modules\Catalog\Services\UI\Options\Elements\Values\Elements\Base\Value
Return type: Value
Parameters

Name

Type

Description

$color

string

public setIcon($icon):Plenty\Modules\Catalog\Services\UI\Options\Elements\Values\Elements\Base\Value
Return type: Value
Parameters

Name

Type

Description

$icon

string

Values

Values

UI Option values container

Namespace

Plenty\Modules\Catalog\Services\UI\Options\Elements\Values

Methods
public add($value):void
Parameters

Name

Type

Description

$value

public toArray():void

Options

Elements

CheckboxUIOption

UI Option of type: checkbox

Namespace

Plenty\Modules\Catalog\Services\UI\Options\Elements

Methods
public toArray():void
public getKey():string
public getLabel():string
public getType():string
public getDefaultValue():void
public isVisible():bool
public isRequired():bool
public getValues():Plenty\Modules\Catalog\Contracts\UI\UIValuesContract
Return type: UIValuesContract
public getChildren():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public setKey($key):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$key

string

public setLabel($label):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$label

string

public setType($type):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$type

string

public setDefaultValue($defaultValue):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$defaultValue

public setVisible($visible):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$visible

bool

public setRequired($required):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$required

bool

public setValues($values):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$values

UIValuesContract

public setChildren($children):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$children

UIOptionsContract

DateUIOption

UI Option of type: date

Namespace

Plenty\Modules\Catalog\Services\UI\Options\Elements

Methods
public toArray():void
public getKey():string
public getLabel():string
public getType():string
public getDefaultValue():void
public isVisible():bool
public isRequired():bool
public getValues():Plenty\Modules\Catalog\Contracts\UI\UIValuesContract
Return type: UIValuesContract
public getChildren():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public setKey($key):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$key

string

public setLabel($label):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$label

string

public setType($type):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$type

string

public setDefaultValue($defaultValue):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$defaultValue

public setVisible($visible):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$visible

bool

public setRequired($required):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$required

bool

public setValues($values):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$values

UIValuesContract

public setChildren($children):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$children

UIOptionsContract

NumberUIOption

UI Option of type: number

Namespace

Plenty\Modules\Catalog\Services\UI\Options\Elements

Methods
public toArray():void
public getKey():string
public getLabel():string
public getType():string
public getDefaultValue():void
public isVisible():bool
public isRequired():bool
public getValues():Plenty\Modules\Catalog\Contracts\UI\UIValuesContract
Return type: UIValuesContract
public getChildren():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public setKey($key):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$key

string

public setLabel($label):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$label

string

public setType($type):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$type

string

public setDefaultValue($defaultValue):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$defaultValue

public setVisible($visible):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$visible

bool

public setRequired($required):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$required

bool

public setValues($values):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$values

UIValuesContract

public setChildren($children):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$children

UIOptionsContract

OperatorUIOption

UI Option of type: operator

Namespace

Plenty\Modules\Catalog\Services\UI\Options\Elements

Methods
public toArray():void
public getKey():string
public getLabel():string
public getType():string
public getDefaultValue():void
public isVisible():bool
public isRequired():bool
public getValues():Plenty\Modules\Catalog\Contracts\UI\UIValuesContract
Return type: UIValuesContract
public getChildren():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public setKey($key):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$key

string

public setLabel($label):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$label

string

public setType($type):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$type

string

public setDefaultValue($defaultValue):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$defaultValue

public setVisible($visible):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$visible

bool

public setRequired($required):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$required

bool

public setValues($values):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$values

UIValuesContract

public setChildren($children):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$children

UIOptionsContract

SelectUIOption

UI Option of type: select

Namespace

Plenty\Modules\Catalog\Services\UI\Options\Elements

Methods
public toArray():void
public getKey():string
public getLabel():string
public getType():string
public getDefaultValue():void
public isVisible():bool
public isRequired():bool
public getValues():Plenty\Modules\Catalog\Contracts\UI\UIValuesContract
Return type: UIValuesContract
public getChildren():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public setKey($key):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$key

string

public setLabel($label):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$label

string

public setType($type):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$type

string

public setDefaultValue($defaultValue):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$defaultValue

public setVisible($visible):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$visible

bool

public setRequired($required):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$required

bool

public setValues($values):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$values

UIValuesContract

public setChildren($children):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$children

UIOptionsContract

TextUIOption

UI Option of type: text

Namespace

Plenty\Modules\Catalog\Services\UI\Options\Elements

Methods
public toArray():void
public getKey():string
public getLabel():string
public getType():string
public getDefaultValue():void
public isVisible():bool
public isRequired():bool
public getValues():Plenty\Modules\Catalog\Contracts\UI\UIValuesContract
Return type: UIValuesContract
public getChildren():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public setKey($key):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$key

string

public setLabel($label):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$label

string

public setType($type):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$type

string

public setDefaultValue($defaultValue):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$defaultValue

public setVisible($visible):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$visible

bool

public setRequired($required):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$required

bool

public setValues($values):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$values

UIValuesContract

public setChildren($children):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$children

UIOptionsContract

ToggleUIOption

UI Option of type: toggle

Namespace

Plenty\Modules\Catalog\Services\UI\Options\Elements

Methods
public toArray():void
public getKey():string
public getLabel():string
public getType():string
public getDefaultValue():void
public isVisible():bool
public isRequired():bool
public getValues():Plenty\Modules\Catalog\Contracts\UI\UIValuesContract
Return type: UIValuesContract
public getChildren():Plenty\Modules\Catalog\Contracts\UI\UIOptionsContract
Return type: UIOptionsContract
public setKey($key):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$key

string

public setLabel($label):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$label

string

public setType($type):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$type

string

public setDefaultValue($defaultValue):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$defaultValue

public setVisible($visible):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$visible

bool

public setRequired($required):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$required

bool

public setValues($values):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$values

UIValuesContract

public setChildren($children):Plenty\Modules\Catalog\Services\UI\Options\Elements\Base\BaseUIOption
Return type: BaseUIOption
Parameters

Name

Type

Description

$children

UIOptionsContract

Values

Elements

SelectValue

UI Option value of type: select

Namespace

Plenty\Modules\Catalog\Services\UI\Options\Elements\Values\Elements

Methods
public toArray():void
public getCaption():string
public getValue():void
public getColor():string
public getIcon():string
public setCaption($caption):Plenty\Modules\Catalog\Services\UI\Options\Elements\Values\Elements\Base\Value
Return type: Value
Parameters

Name

Type

Description

$caption

string

public setValue($value):Plenty\Modules\Catalog\Services\UI\Options\Elements\Values\Elements\Base\Value
Return type: Value
Parameters

Name

Type

Description

$value

public setColor($color):Plenty\Modules\Catalog\Services\UI\Options\Elements\Values\Elements\Base\Value
Return type: Value
Parameters

Name

Type

Description

$color

string

public setIcon($icon):Plenty\Modules\Catalog\Services\UI\Options\Elements\Values\Elements\Base\Value
Return type: Value
Parameters

Name

Type

Description

$icon

string

UI

Options

UIOptions

UI Options container

Namespace

Plenty\Modules\Catalog\Services\UI\Options

Methods
public add():void
public toArray():void

Templates

Providers

AbstractGroupedTemplateProvider

The AbstractGroupedTemplateProvider is the abstract class that should be used to implement a template provider.

Namespace

Plenty\Modules\Catalog\Templates\Providers

Methods
public isPreviewable():bool
public allowsCustomFilter():bool
public getDynamicConfig():Plenty\Modules\Catalog\Contracts\CatalogDynamicConfigContract
Return type: CatalogDynamicConfigContract
public getPreMutator():Plenty\Modules\Catalog\Contracts\CatalogMutatorContract
Return type: CatalogMutatorContract

Returns the Mutator instance that should be called to manipulate data before the mapping.

public getPostMutator():Plenty\Modules\Catalog\Contracts\CatalogMutatorContract
Return type: CatalogMutatorContract

Returns the Mutator instance that should be called to manipulate data after the mapping.

public getSkuCallback():callable

Returns a callback function that is called if a field with the specific key "sku" got mapped. The function will receive the value that got mapped, the raw data array of this item and the type of the mapped source. It should return the new value (e.g. function ($value, array $item, $mappingType){ --your code-- return $value})).

public getSettings():array

Returns an array of settings that will be displayed in the UI of each catalogue with a template that uses this provider. The selected values for all those settings can then be used in the export.

public getMetaInfo():array

Returns an array of meta information which can be used to forward information to the export which could otherwise not be received.

public getCustomFilters():array
Deprecated!

Custom filters should be consumed through getCustomFilterContainer().

public getAssignments():array
public getFilter():array
Deprecated!

Filters should be consumed through getFilterContainer().

public hasExtendedMappings():bool
public getResultConverterClass():string
Deprecated!

This will not be consumed anymore. Use getResultConverterContainer() instead.

public getResultConverterContainer():Plenty\Modules\Catalog\Services\Converter\Containers\ResultConverterContainer
Return type: ResultConverterContainer

Returns a container which contains all result converters for a given template.

public getDefaultCatalogSettings():array
public getTemplateGroupContainer():Plenty\Modules\Catalog\Containers\TemplateGroupContainer
Return type: TemplateGroupContainer

Returns a container in which all TemplateGroups of this template are collected.

public getFilterContainer():Plenty\Modules\Catalog\Containers\Filters\CatalogFilterBuilderContainer
Return type: CatalogFilterBuilderContainer

Returns the container that collects all filters of templates that are booted by this specific provider.

public getCustomFilterContainer():Plenty\Modules\Catalog\Containers\Filters\CatalogFilterBuilderContainer
Return type: CatalogFilterBuilderContainer

Returns the container that collects all custom filters of templates that are booted by this specific provider.