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
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
public getField($key):Plenty\Modules\Catalog\Contracts\CatalogTemplateFieldContract
Return type: CatalogTemplateFieldContract
Get a specified field out of the container.
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
public getGroups():array
public getGroup($identifier):Plenty\Modules\Catalog\Models\TemplateGroup
Return type: TemplateGroup
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
The id of the catalogue |
public update($id, $data):array
Updates the content of the catalogue.
Name |
Type |
Description |
|
The id of the catalogue |
|
|
The content that should be inserted into the catalogue |
CatalogExportFilterServiceContract
To be written
Namespace
Plenty\Modules\Catalog\Contracts
Methods
public applyFilters($documentSearch, $config):void
Name |
Type |
Description |
|
||
|
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.
Name |
Type |
Description |
|
The id of the catalogue |
public initiateQueue($id):void
Initiates the queue which exports a specific catalogue.
Name |
Type |
Description |
|
public download($id, $hash = "", $extension = "csv", $public = false, $token = ""):array
Provides the response with file attachment to download in browser
Name |
Type |
Description |
|
||
|
||
|
||
|
||
|
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.
Name |
Type |
Description |
|
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. |
Name |
Type |
Description |
|
public setSettings($settings):void
Defines the settings that are used in the mappings and for filtering.
Name |
Type |
Description |
|
public setNumberOfDocumentsPerShard($numberOfDocumentsPerShard):void
Deprecated!
Use Plenty\Modules\Catalog\Contracts\CatalogExportServiceContract::setItemsPerPage instead. |
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
The amount of items per page |
public setPage($page):void
Defines the page number that will be returned
Name |
Type |
Description |
|
public setUpdatedSince($timestamp):void
Limits the results of items to only those that were updated after the given timestamp.
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
public getPreview():void
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
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
public getAssignments():array
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
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
public getValues($params = []):Plenty\Modules\Catalog\Containers\CatalogMappingValueContainer
Return type: CatalogMappingValueContainer
Get a CatalogMappingValueContainer dependent on provided params.
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
public update($id, $data):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog
Update a catalog
Name |
Type |
Description |
|
||
|
public get($id):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog
Get the latest version of a catalog
Name |
Type |
Description |
|
public getByVersion($id, $version = ""):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog
Get a specific version of a catalog
Name |
Type |
Description |
|
||
|
public restoreVersion($id, $version = ""):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog
Restore a past version of a catalog to become latest
Name |
Type |
Description |
|
||
|
public listVersions($id):Illuminate\Support\Collection
Return type: Collection
Lists catalog versions
Name |
Type |
Description |
|
Catalog ID |
public getArchive():array
Gets the archive
public restoreArchived($id):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog
Restores an archived catalog
Name |
Type |
Description |
|
public delete($id):bool
Delete a catalog
Name |
Type |
Description |
|
Catalog ID |
public copy($data):array
Copy a catalog or multiple catalogs
Name |
Type |
Description |
|
public copyCatalog($id, $modifiedAttributes):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog
Copy a single catalog
Name |
Type |
Description |
|
Catalog ID |
|
|
Attributes to add or modify |
public copyCatalogFormat($catalogId, $data):array
Copy a catalog format
Name |
Type |
Description |
|
Catalog ID |
|
|
public all($page = 1, $perPage = 25):Plenty\Repositories\Models\PaginatedResult
Return type: PaginatedResult
Get list of all catalogs
Name |
Type |
Description |
|
||
|
public activate($id, $active):array
Activate a catalog
Name |
Type |
Description |
|
||
|
public getCatalogPreview($id):array
Gets the preview for an export with a specific catalog
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
||
|
public buildDownloadPrivateURL($id, $data):string
Builds the catalog's private download url
Name |
Type |
Description |
|
||
|
public exportCatalog($id):array
Exports the catalog. The catalog ID is required.
Name |
Type |
Description |
|
public importCatalog($content):Plenty\Modules\Catalog\Models\Catalog
Return type: Catalog
Imports the catalog. The catalog ID is required.
Name |
Type |
Description |
|
public setFilters($filters = []):void
Sets the filter array.
Name |
Type |
Description |
|
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
To be written
Namespace
Plenty\Modules\Catalog\Contracts
Methods
public addData($data):void
Through this a single entry of a catalog result should be added
Name |
Type |
Description |
|
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
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
Name |
Type |
Description |
|
||
|
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
Name |
Type |
Description |
|
||
|
CatalogRuntimeConfigProviderContract
To be written
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.
Name |
Type |
Description |
|
||
|
||
|
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.
Name |
Type |
Description |
|
public setTemplate($template):void
Deprecated!
Whole interface is deprecated |
Name |
Type |
Description |
|
public setMapping($mapping):void
Deprecated!
Whole interface is deprecated |
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
||
|
||
|
||
|
public getSearchFields($id, $hidden = []):array
Get list of fields for search
Name |
Type |
Description |
|
||
|
public getFieldById($id, $fieldId):array
Get field by id
Name |
Type |
Description |
|
||
|
public getFieldsByCatalogId($id, $catalogId):array
Get Fields by id of the catalog
Name |
Type |
Description |
|
||
|
public fieldValuesTree($id, $page, $itemsPerPage):array
Name |
Type |
Description |
|
||
|
||
|
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.
Name |
Type |
Description |
|
||
|
||
|
public getDataByValue($id):array
Deprecated!
Whole interface is deprecated |
Returns a specific value of the nested data determined by its id.
Name |
Type |
Description |
|
public getData($query = ""):array
Deprecated!
Whole interface is deprecated |
Returns the data that should be provided.
Name |
Type |
Description |
|
public setTemplate($template):void
Deprecated!
Whole interface is deprecated |
Name |
Type |
Description |
|
public setMapping($mapping):void
Deprecated!
Whole interface is deprecated |
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
The specific name of the template |
|
|
The type of the template. Multiple templates can be grouped in one type |
|
|
Class name of the provider that boots the template |
|
|
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.
Name |
Type |
Description |
|
public getTemplateWithoutBootingIt($identifier):Plenty\Modules\Catalog\Contracts\TemplateContract
Return type: TemplateContract
Returns a specific template by its identifier without booting it.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
public addMutator($callback):void
Deprecated!
Use Plenty\Modules\Catalog\Contracts\TemplateContract::setPostMutator instead. |
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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".
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
public hasRuntimeConfig():bool
public hasResultConverter():bool
public getRuntimeConfig():Plenty\Modules\Catalog\Contracts\CatalogRuntimeConfigContract
Return type: CatalogRuntimeConfigContract
public getResultConverter():Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract
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.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
public isBooted():bool
Returns the current boot state of the template.
public translatedToArray($language):array
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
||
|
public getMappings($id):array
Get list of mappings
Name |
Type |
Description |
|
public getMapping($id, $mappingId):array
Get mapping
Name |
Type |
Description |
|
||
|
public getMappingData($id, $mappingId, $parentId = null):array
Get mapping data
Name |
Type |
Description |
|
||
|
||
|
public getMappingDataById($id, $mappingId, $dataId):array
Get mapping data by id
Name |
Type |
Description |
|
||
|
||
|
public test($id):void
Test export of a catalog
Name |
Type |
Description |
|
public getAllMappings($id):array
Get all mappings
Name |
Type |
Description |
|
public getAssignments($id):array
Get assignments
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
public setMapping($mapping):void
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
public setMapping($mapping):void
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
public getMetaData():void
public getNestedData($parentId, $query = "", $meta = []):array
Name |
Type |
Description |
|
||
|
||
|
public getRows():array
public setTemplate($template):void
Name |
Type |
Description |
|
public setMapping($mapping):void
Name |
Type |
Description |
|
public getDataByValue($id):array
Deprecated!
Whole interface is deprecated |
Returns a specific value of the nested data determined by its id.
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
Models
Catalog
The catalog model - stores on S3
Namespace
Plenty\Modules\Catalog\Models
Name | Type | Description |
---|---|---|
data |
Contains the mappings and template settings |
|
settings |
Contains the settings |
|
name |
The name of the catalogue |
|
template |
The id of the template that was used to create the catalogue |
|
id |
The id of the catalogue |
|
active |
Determines whether a catalogue can be exported |
|
showMandatoryFields |
Determines if only the mandatory fields should be displayed in the catalogue UI |
|
updatedAt |
The updated at date in W3C |
|
createdAt |
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 toArray()
Returns this model as an array.
ComplexTemplateField
To be written.
Namespace
Plenty\Modules\Catalog\Models
Methods
public toArray()
Returns this model as an array.
SimpleTemplateField
To be written.
Namespace
Plenty\Modules\Catalog\Models
Methods
public toArray()
Returns this model as an 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 toArray()
Returns this model as an array.
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.
Name |
Type |
Description |
|
public addMutator($callback):void
Deprecated!
Use Plenty\Modules\Catalog\Contracts\TemplateContract::addPreMutator or Plenty\Modules\Catalog\Contracts\TemplateContract::addPreMutator instead. |
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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".
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
public getMetaInfo():void
public getGroupContainer():Plenty\Modules\Catalog\Containers\TemplateGroupContainer
Return type: TemplateGroupContainer
public addGroupContainer($groupContainer):void
Name |
Type |
Description |
|
public getPreMutator():Plenty\Modules\Catalog\Contracts\CatalogMutatorContract
Return type: CatalogMutatorContract
public getPostMutator():Plenty\Modules\Catalog\Contracts\CatalogMutatorContract
Return type: CatalogMutatorContract
public setPreMutator($preMutator):void
Name |
Type |
Description |
|
public setPostMutator($postMutator):void
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
public getName():string
public getExportType():string
public getType():string
public translatedToArray($language):array
Name |
Type |
Description |
|
public toArray():array
public jsonSerialize():void
public getIdentifier():string
public getFormatSettings():array
public getExportSettings():array
public isPreviewable():bool
public allowPreview($isPreviewable):void
Name |
Type |
Description |
|
public getRuntimeConfig():Plenty\Modules\Catalog\Contracts\CatalogRuntimeConfigContract
Return type: CatalogRuntimeConfigContract
public getResultConverter():Plenty\Modules\Catalog\Contracts\CatalogResultConverterContract
Return type: CatalogResultConverterContract
public hasRuntimeConfig():bool
public hasResultConverter():bool
public isBooted():bool
Contracts
Status
CatalogStatusRepositoryContract
Get, list, create, update and delete catalog statuses.
Namespace
Plenty\Modules\Catalog\Contracts\Status
Methods
public create($data):void
Create catalog status
Name |
Type |
Description |
|
public get($id):void
Get a catalog status
Name |
Type |
Description |
|
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
Name |
Type |
Description |
|
||
|
||
|
public update($id, $data):void
Update catalog status
Name |
Type |
Description |
|
||
|
public delete($id):void
Delete catalog status
Name |
Type |
Description |
|
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.
Name |
Type |
Description |
|
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.
Example
Model
Example
The example model.
Namespace
Plenty\Modules\Catalog\Legacy\ElasticExport\Example\Model
Name | Type | Description |
---|---|---|
exampleId |
The ID of the example |
|
exampleName |
The Name of the example |
|
exampleText |
The text of the example |
|
examplePrice |
The Price of the example |
Methods
public toArray()
Returns this model as an array.
Models
Status
CatalogStatus
The catalog status model.
Namespace
Plenty\Modules\Catalog\Models\Status
Name | Type | Description |
---|---|---|
id |
The ID of the status |
|
catalog_id |
The ID of the catalog |
|
type |
The type of status ( run, etc ) |
|
subtype |
The subtype of the status ( marketplace, async, etc ) |
|
has_data |
The check if it has a status file on S3 |
|
has_logs |
The check if it has logs on S3 |
|
initiator |
The initiator of this status. Who started it. ( User, Cron, Marketplace ) |
|
initiator_id |
The initiator ID |
|
state |
The state of this status (Starting, Processing, Completed, Failed, etc) |
|
total |
The total count of what needs to be processed |
|
processed |
The processed count |
|
successful |
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.
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 getTemplateGroupContainer():Plenty\Modules\Catalog\Containers\TemplateGroupContainer
Return type: TemplateGroupContainer
Returns a container in which all TemplateGroups of this template are collected.
public getFilter():array
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
public getAssignments():array