class ProductManager implements BasicEntityManagerInterface, ProductManagerInterface, CSVManagerInterface, JQGridInterface

Class ProductManager is injected as alligator.product_manager service. ProductManager handles the logic for managed entity.

Traits

Trait JQGridManagerTrait
Class BlockElementManagerTrait. Handles reading data for block elements

Constants

WEB_UPLOADS_DIR

Path to images location

TEMP_FOLDER_DIR

Path to tmp images location

Properties

protected ProductRepository $repository
protected ProductEventContainer $eventContainer

Methods

mixed
searchForJQGRID(array $searchParams, array $sortParams = array(), array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

No description

mixed
findAllForJQGRID(int $page, int $offset, array $sortParams, array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

No description

mixed
getCountForJQGRID(array|null $searchParams = null, array|null $sortParams = null, array|null $additionalParams = array(), JQGridWrapper|null $jqGridWrapper = null)

No description

array
getEntitiesForBlockElementsExtension(array $ids)

Find products for provided array of ids

array
getEntityNamesForIds(array $ids)

Get id and name of entity

__construct(ProductRepository $repository, ProductEventContainer $eventContainer)

ProductManager constructor.

array
findAllProductErpCodeSearchString()

Find all product id, erpCode and productSearchString fields

array
findProductsMissingFromDbCSVImport(array $productArray)

Find id of products in database for provided array of ids

editProduct(Product $product)

Check for all preconditions, create references to all foreign entities and persist new product. Editing only "Basic info" and "Price"

bool|stdClass
deleteProduct(array $array)

Remove products from array

dispatchTeeGenerateSignal()

This method sends signal for cashing html tree of categories

dispatchGenerateProductTranslationSignal(Product $productDB)

Dispatch signal to generate product translations for specific product

dispatchProductRemovedSignal(ArrayCollection $products)

This method sends signal for cashing html tree of categories

getDBProduct(Product $product)

Find product

saveProduct(Product $product)

Pesrist new product

array
getFeatureProducts()

Find featured products

array
findProductsOnAction(int $page, int $offset)

Find products on action with pagination

array
getProductsCollection(array $products)

Find collection of products

array
doProductSearch(ProductSearchWrapper $searchWrapper)

Main product search. Sets all preconditions and do database search

float|int
simpleCovertMoney(float $amount, string|null $from = null, string|null $to = null)

Simple convert price

array
doProductSearchCount(ProductSearchWrapper $searchWrapper)

Do product search count and calculate min and max price

updateQty(Product $product)

Update product quantities on simple product for specific products

updateProductQtyAfterPAV(ProductAttributeValues $pav)

Update product quantities on simple product for specific product attribute values

mixed
findBrand(Brand $brand)

Find brand

string
getLoggedUsername()

Get logged username, returns '' if user not logged

User|null
getLoggedUser()

Get logged user, null otherwise

bool
hasRoleAdmin()

Has logged user admin privileges

string
getCurrentLocale()

Get current locale from request

mixed|void
exportToCSV()

No description

mixed|void
exportCustom(array $data)

Export products to csv file

array
getCustomProductFieldsForExport(array $fields)

Find custom product fields for export

mixed
saveObjectsFromCSV(ArrayCollection $objectList, array $csvRow, array $entityCSVHeaders, array $propertyMappings = array())

Persist entities to database

bool
importImagesForProduct(string $base64)

Import images from zip archive

mixed
importFromCSVWithFileName(string $base64Content, string $locale, string $fileName, array $propertyMappings = array())

Import products from csv file

mixed
importFromCSV(mixed $base64Content, mixed $locale, array $propertyMappings = array())

Import products from csv file

getProductById(Product $product)

Find product by id

array
getAttrValsForFilter(ProductSearchWrapper $searchWrapper)

Find all ids of attribute value, brand and category for provided array of products

array
dispatchProductCustomExcludeFilter(array $possibleAttrs, ProductSearchWrapper $searchWrapper)

Dispatch product exclude filter event

mixed
getDBProductForProductPage(int $productId)

Find product by id

mixed
getProductQuickInformation(int $productId)

Find and prepare product information by id

array|null
isProductOnSpecialOffer(Product $product)

Check if product is on special offer

array
getAllProductsFromArray(array $productsArray)

Find all product for provided array of ids

getDBProductBySlugForProductPage(string $productSlug)

Find product by slug

mixed
saveProductCollectionFromCMD(Product $array)

Persist collection of products

ArrayCollection
getImagesForProductAttributeValue(int $pavId)

Find images for specific product attribute values

cacheAfterProductDelete()

Dispatch all signals to cache elements after product has been deleted

dispatchPromoProductsReCache()

Dispatch promo products cache remove

Money
convertToDefaultCurrency(float $price, bool $toDefault = false)

Convert custom price to default currency

array
dispatchProductAvailabilityChangeEvent()

Used when plugins need to change availability of products For example: not all products are available for different payment types

dispatchRemoveProductTranslation(array $ids)

Dispatch remove product translations for array of keys

array
getProductImportSettings()

Find product import settings

array
getAllProductFields()

Get product, simple product, brand, category and attribute metadata

getDBSettingsFields()

Find import-export settings

Product|Proxy|null|object
getReference(int $id, string $class = null)

No description

array
saveBundleProduct(int $groupProductId, int $productId, array $products, bool $generatePrice, double $productAdjustPrice)

Check for all preconditions, create references to all foreign entities and save bundle product

getBundledProductsForGroupProduct(int $groupId)

Find group product with all related products by group product id

getBundleProductForProductId(int $productId)

Find group product with all related products by related product id

dispatchFeaturedCategoriesSignal()

Dispatch re-cache featured categories

array
getAllProductsWithBrandNameAndCategoryConcatFromArray(array $productsArray)

Get product information with additional params (Brand name and Category Name concat)

array
getAllProductsOnAction()

Find all products on action

array
getProductReferencesForArrayIds(array $ids)

Find reference for array of products

getProductAttributeValues(int $productId)

Find product attribute value by product id

getProductAttributeValuesById(int $id)

Find product attribute values by id

array
getAttrsForProducts(ProductSearchWrapper $searchWrapper, bool $includeBrands = true, array|null $attributesOrder = null, array|null $disabledAttrs = null, array|null $customDql = null)

Find all product filters data and format for easier twig manipulation

deleteProductsOnActionCache()

Delete cache for products on action page

getSearchSettings()

Find search settings

array
getAllAvailableProductAndAttributeSet(array $prodArray)

Find all products and their attribute sets

array
getAllProductsErpCodes(array $adittionalFields = [])

Get product codes

array
getAllSimpleProductErpCodes()

Get all ids of product and simple product codes

array
getAllProductsIdAndNameDescription()

Find all products main information

array
getAllProductsWithoutPrice()

Get ids of products without price

array
getAllProductsWithoutSimpleProduct()

Get ids of products without simple product

bool|string
saveMultiple(array $products, int $flushNumber = 30)

Persist collection of products with custom id

array
getProductsByCategorySimple(int $id)

Find products by category id

array
getProductsByCategoryWithPaginationSimple(int $id, int $page, int $offset, bool $count = false, array|null $searchParams = null)

Find products by category id with pagination or count them

dispatchMenuUpdateRemoveSignal(int $id, string $slug, string|null $productName = null)

Dispatch signal to re-cache menu items

bool
deleteMultiple(array $products)

Remove products from array

array
getProductsForProductSearchUpdate(array $ids, bool $isProductSearch = true)

Find products for product search update

saveCategorizationForProduct(Product $product)

Saving product categorization

saveFeaturesForProduct(Product $product)

Saving product attribute values features of product

savePavsForProductBackendEdit(Product $product)

Saving product attribute values of product

int
saveImagesForProduct(Product $product)

Saving images on product

saveFilesForProduct(Product $product)

Handles product files changes

findByErpCode(string $code)

Find product by erp code

array
findMultipleByErpCode(array $arrayCodes)

Find products for provided array of ids

array
getCachedProductGroups()

Find cached product groups

array
getSearchFields()

Find search fields

array
getDefaultSortField()

Get default sort field

array
getAdditionalSearchData()

Find additional search data

mixed
dispatchProductFiltersSignal(array $products)

Dispatch product filter signal

bool|Exception
updateProductSalesCount(DateTime $date = null)

Increment product salesCount property

updateProductViewCount(Product $product)

Increment product viewCount filed

dispatchProductSearchEvent(string $searchParam, bool $hasResults)

Dispatch save product search signal

array
getCurrentPrices()

Find all products prices

array
getProductsByAlgorithm(string $algorithm, int $numberOfProducts)

Find products based on algorithm type

getErpPrices(array $products)

Find and cache prices from ERP for provided array of products

int
getErpPrice(mixed $product)

Find price from ERP for provided product

bool
checkRolePermissions(string $permission)

Check role permission

array
getErpCodesOfProductAndPav()

Find all erpCodes of products and product attribute values

bool
checkUserAndProductPermissions(array $productPermissions, string $permission = RolePermissionTypes::CAN_SEE_QUANTITY_LIGHT_UNDERSCORE)

Check user permissions on product

onPricelistChanged(EventWithResult $event)

Re-cache product price list items array field

bool|string
reCacheProductPricelistItemsArray()

Re-cache product price list items array field

updateProductSeo(Product $product)

Update product SEO informations

updateProductFields(Product $product)

Update main product fields

getBrandBySlug(string $slug)

Find brand by slug

bool|Exception
updateCustomProductLinks(array $customProductLinks)

Update product customProductLinks property

getUserSettings()

No description

dispatchCustomErpPriceLogic(string $userCode, array $products)

Get product prices from ERP

updatePreventDirectAddToCartField()

Prevent product add to cart

array
getPricesForProducts(array $productIds)

Find products prices

array
getOfferForProductPage(int $id)

Find buy x get y offer for product by id

boolean|Exception
updateProductsWithCustomLabels(string $label, array $productIds)

Update products with custom labels

bool
updateMultipleProductsRatings(float $newRating, array $brandsArray)

Update product rating for provided array of brands

Details

in JQGridManagerTrait at line 26
mixed searchForJQGRID(array $searchParams, array $sortParams = array(), array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

Parameters

array $searchParams
array $sortParams
array $additionalParams
JQGridWrapper $jqGridWrapper

Return Value

mixed

in JQGridManagerTrait at line 40
mixed findAllForJQGRID(int $page, int $offset, array $sortParams, array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

Parameters

int $page
int $offset
array $sortParams
array $additionalParams
JQGridWrapper $jqGridWrapper

Return Value

mixed

in JQGridManagerTrait at line 53
mixed getCountForJQGRID(array|null $searchParams = null, array|null $sortParams = null, array|null $additionalParams = array(), JQGridWrapper|null $jqGridWrapper = null)

Parameters

array|null $searchParams
array|null $sortParams
array|null $additionalParams
JQGridWrapper|null $jqGridWrapper

Return Value

mixed

at line 2012
array getEntitiesForBlockElementsExtension(array $ids)

Find products for provided array of ids

Parameters

array $ids

Return Value

array

array getEntityNamesForIds(array $ids)

Get id and name of entity

Parameters

array $ids

Return Value

array

at line 119
__construct(ProductRepository $repository, ProductEventContainer $eventContainer)

ProductManager constructor.

Parameters

ProductRepository $repository
ProductEventContainer $eventContainer

at line 129
array findAllProductErpCodeSearchString()

Find all product id, erpCode and productSearchString fields

Return Value

array

at line 140
array findProductsMissingFromDbCSVImport(array $productArray)

Find id of products in database for provided array of ids

Parameters

array $productArray

Return Value

array

at line 148
Product editProduct(Product $product)

Check for all preconditions, create references to all foreign entities and persist new product. Editing only "Basic info" and "Price"

Parameters

Product $product

Return Value

Product

Exceptions

Exception

at line 277
bool|stdClass deleteProduct(array $array)

Remove products from array

Parameters

array $array

Return Value

bool|stdClass

Exceptions

Exception

at line 315
dispatchTeeGenerateSignal()

This method sends signal for cashing html tree of categories

at line 324
dispatchGenerateProductTranslationSignal(Product $productDB)

Dispatch signal to generate product translations for specific product

Parameters

Product $productDB

at line 333
dispatchProductRemovedSignal(ArrayCollection $products)

This method sends signal for cashing html tree of categories

Parameters

ArrayCollection $products

at line 344
Product getDBProduct(Product $product)

Find product

Parameters

Product $product

Return Value

Product

at line 354
Product saveProduct(Product $product)

Pesrist new product

Parameters

Product $product

Return Value

Product

at line 367
array getFeatureProducts()

Find featured products

Return Value

array

at line 379
array findProductsOnAction(int $page, int $offset)

Find products on action with pagination

Parameters

int $page
int $offset

Return Value

array

at line 389
array getProductsCollection(array $products)

Find collection of products

Parameters

array $products

Return Value

array

at line 400
array doProductSearch(ProductSearchWrapper $searchWrapper)

Main product search. Sets all preconditions and do database search

Parameters

ProductSearchWrapper $searchWrapper

Return Value

array

at line 441
float|int simpleCovertMoney(float $amount, string|null $from = null, string|null $to = null)

Simple convert price

Parameters

float $amount
string|null $from
string|null $to

Return Value

float|int

at line 452
array doProductSearchCount(ProductSearchWrapper $searchWrapper)

Do product search count and calculate min and max price

Parameters

ProductSearchWrapper $searchWrapper

Return Value

array

at line 475
updateQty(Product $product)

Update product quantities on simple product for specific products

Parameters

Product $product

Exceptions

DBALException

at line 486
updateProductQtyAfterPAV(ProductAttributeValues $pav)

Update product quantities on simple product for specific product attribute values

Parameters

ProductAttributeValues $pav

Exceptions

DBALException

at line 497
mixed findBrand(Brand $brand)

Find brand

Parameters

Brand $brand

Return Value

mixed

at line 506
string getLoggedUsername()

Get logged username, returns '' if user not logged

Return Value

string

at line 515
User|null getLoggedUser()

Get logged user, null otherwise

Return Value

User|null

at line 524
bool hasRoleAdmin()

Has logged user admin privileges

Return Value

bool

at line 533
string getCurrentLocale()

Get current locale from request

Return Value

string

at line 541
mixed|void exportToCSV()

Return Value

mixed|void

at line 553
mixed|void exportCustom(array $data)

Export products to csv file

Parameters

array $data

Return Value

mixed|void

at line 565
array getCustomProductFieldsForExport(array $fields)

Find custom product fields for export

Parameters

array $fields

Return Value

array

at line 573
CSVEntityInterface getEntityObject()

Return Value

CSVEntityInterface

at line 583
mixed saveObjectsFromCSV(ArrayCollection $objectList, array $csvRow, array $entityCSVHeaders, array $propertyMappings = array())

Persist entities to database

Parameters

ArrayCollection $objectList
array $csvRow
array $entityCSVHeaders
array $propertyMappings

Return Value

mixed

at line 759
bool importImagesForProduct(string $base64)

Import images from zip archive

Parameters

string $base64

Return Value

bool

Exceptions

FileNotFoundException
IOException

at line 833
mixed importFromCSVWithFileName(string $base64Content, string $locale, string $fileName, array $propertyMappings = array())

Import products from csv file

Parameters

string $base64Content
string $locale
string $fileName
array $propertyMappings

Return Value

mixed

Exceptions

Exception

at line 862
mixed importFromCSV(mixed $base64Content, mixed $locale, array $propertyMappings = array())

Import products from csv file

Parameters

mixed $base64Content
mixed $locale
array $propertyMappings

Return Value

mixed

Exceptions

Exception

at line 893
Product getProductById(Product $product)

Find product by id

Parameters

Product $product

Return Value

Product

Exceptions

NoResultException
NonUniqueResultException

at line 906
array getAttrValsForFilter(ProductSearchWrapper $searchWrapper)

Find all ids of attribute value, brand and category for provided array of products

Parameters

ProductSearchWrapper $searchWrapper

Return Value

array

Exceptions

DBALException

at line 921
array dispatchProductCustomExcludeFilter(array $possibleAttrs, ProductSearchWrapper $searchWrapper)

Dispatch product exclude filter event

Parameters

array $possibleAttrs
ProductSearchWrapper $searchWrapper

Return Value

array

at line 935
mixed getDBProductForProductPage(int $productId)

Find product by id

Parameters

int $productId

Return Value

mixed

Exceptions

NoResultException
NonUniqueResultException

at line 951
mixed getProductQuickInformation(int $productId)

Find and prepare product information by id

Parameters

int $productId

Return Value

mixed

Exceptions

NoResultException
NonUniqueResultException

at line 1006
array|null isProductOnSpecialOffer(Product $product)

Check if product is on special offer

Parameters

Product $product

Return Value

array|null

at line 1027
array getAllProductsFromArray(array $productsArray)

Find all product for provided array of ids

Parameters

array $productsArray

Return Value

array

at line 1041
Product getDBProductBySlugForProductPage(string $productSlug)

Find product by slug

Parameters

string $productSlug

Return Value

Product

Exceptions

NoResultException
NonUniqueResultException

at line 1056
mixed saveProductCollectionFromCMD(Product $array)

Persist collection of products

Parameters

Product $array array $array

Return Value

mixed

Exceptions

Exception

at line 1067
ArrayCollection getImagesForProductAttributeValue(int $pavId)

Find images for specific product attribute values

Parameters

int $pavId

Return Value

ArrayCollection

at line 1083
cacheAfterProductDelete()

Dispatch all signals to cache elements after product has been deleted

at line 1093
dispatchPromoProductsReCache()

Dispatch promo products cache remove

at line 1106
Money convertToDefaultCurrency(float $price, bool $toDefault = false)

Convert custom price to default currency

Parameters

float $price
bool $toDefault

Return Value

Money

at line 1116
array dispatchProductAvailabilityChangeEvent()

Used when plugins need to change availability of products For example: not all products are available for different payment types

Return Value

array

at line 1127
dispatchRemoveProductTranslation(array $ids)

Dispatch remove product translations for array of keys

Parameters

array $ids

See also

ProductTranslation

at line 1148
array getProductImportSettings()

Find product import settings

Return Value

array

See also

ProductSettings

at line 1163
array getAllProductFields()

Get product, simple product, brand, category and attribute metadata

Return Value

array

See also

Product
SimpleProduct
Brand
Category
Attribute

at line 1181
ImportExportSettings getDBSettingsFields()

Find import-export settings

Return Value

ImportExportSettings

at line 1194
Product|Proxy|null|object getReference(int $id, string $class = null)

Parameters

int $id
string $class

Return Value

Product|Proxy|null|object

Exceptions

ORMException

at line 1209
array saveBundleProduct(int $groupProductId, int $productId, array $products, bool $generatePrice, double $productAdjustPrice)

Check for all preconditions, create references to all foreign entities and save bundle product

Parameters

int $groupProductId
int $productId
array $products
bool $generatePrice
double $productAdjustPrice

Return Value

array

at line 1252
GroupProduct getBundledProductsForGroupProduct(int $groupId)

Find group product with all related products by group product id

Parameters

int $groupId

Return Value

GroupProduct

Exceptions

NoResultException
NonUniqueResultException

at line 1266
GroupProduct getBundleProductForProductId(int $productId)

Find group product with all related products by related product id

Parameters

int $productId

Return Value

GroupProduct

Exceptions

NoResultException
NonUniqueResultException

at line 1274
dispatchFeaturedCategoriesSignal()

Dispatch re-cache featured categories

at line 1285
array getAllProductsWithBrandNameAndCategoryConcatFromArray(array $productsArray)

Get product information with additional params (Brand name and Category Name concat)

Parameters

array $productsArray

Return Value

array

at line 1294
array getAllProductsOnAction()

Find all products on action

Return Value

array

at line 1307
array getProductReferencesForArrayIds(array $ids)

Find reference for array of products

Parameters

array $ids

Return Value

array

at line 1320
Product getProductAttributeValues(int $productId)

Find product attribute value by product id

Parameters

int $productId

Return Value

Product

Exceptions

NonUniqueResultException

at line 1334
ProductAttributeValues getProductAttributeValuesById(int $id)

Find product attribute values by id

Parameters

int $id

Return Value

ProductAttributeValues

Exceptions

NoResultException
NonUniqueResultException

at line 1351
array getAttrsForProducts(ProductSearchWrapper $searchWrapper, bool $includeBrands = true, array|null $attributesOrder = null, array|null $disabledAttrs = null, array|null $customDql = null)

Find all product filters data and format for easier twig manipulation

Parameters

ProductSearchWrapper $searchWrapper
bool $includeBrands
array|null $attributesOrder
array|null $disabledAttrs
array|null $customDql

Return Value

array

Exceptions

DBALException

at line 1438
deleteProductsOnActionCache()

Delete cache for products on action page

at line 1447
SearchSettings getSearchSettings()

Find search settings

Return Value

SearchSettings

at line 1461
array getAllAvailableProductAndAttributeSet(array $prodArray)

Find all products and their attribute sets

Parameters

array $prodArray

Return Value

array

See also

Product
AttributeSet

at line 1472
array getAllProductsErpCodes(array $adittionalFields = [])

Get product codes

Parameters

array $adittionalFields

Return Value

array

at line 1484
array getAllSimpleProductErpCodes()

Get all ids of product and simple product codes

Return Value

array

See also

Product
SimpleProduct

at line 1496
array getAllProductsIdAndNameDescription()

Find all products main information

Return Value

array

See also

Product

at line 1507
array getAllProductsWithoutPrice()

Get ids of products without price

Return Value

array

See also

Product

at line 1519
array getAllProductsWithoutSimpleProduct()

Get ids of products without simple product

Return Value

array

See also

Product
SimpleProduct

at line 1531
bool|string saveMultiple(array $products, int $flushNumber = 30)

Persist collection of products with custom id

Parameters

array $products
int $flushNumber

Return Value

bool|string

at line 1542
array getProductsByCategorySimple(int $id)

Find products by category id

Parameters

int $id

Return Value

array

at line 1559
array getProductsByCategoryWithPaginationSimple(int $id, int $page, int $offset, bool $count = false, array|null $searchParams = null)

Find products by category id with pagination or count them

Parameters

int $id
int $page
int $offset
bool $count
array|null $searchParams

Return Value

array

Exceptions

DBALException

at line 1577
dispatchMenuUpdateRemoveSignal(int $id, string $slug, string|null $productName = null)

Dispatch signal to re-cache menu items

Parameters

int $id
string $slug
string|null $productName

at line 1588
bool deleteMultiple(array $products)

Remove products from array

Parameters

array $products

Return Value

bool

at line 1600
array getProductsForProductSearchUpdate(array $ids, bool $isProductSearch = true)

Find products for product search update

Parameters

array $ids
bool $isProductSearch

Return Value

array

at line 1612
Product|PrimaryKeyInterface|int saveCategorizationForProduct(Product $product)

Saving product categorization

Parameters

Product $product

Return Value

Product|PrimaryKeyInterface|int

at line 1666
PrimaryKeyInterface|int saveFeaturesForProduct(Product $product)

Saving product attribute values features of product

Parameters

Product $product

Return Value

PrimaryKeyInterface|int

at line 1699
PrimaryKeyInterface|int savePavsForProductBackendEdit(Product $product)

Saving product attribute values of product

Parameters

Product $product

Return Value

PrimaryKeyInterface|int

Exceptions

ORMException

at line 1842
int saveImagesForProduct(Product $product)

Saving images on product

Parameters

Product $product

Return Value

int | Product

at line 1897
PrimaryKeyInterface|int saveFilesForProduct(Product $product)

Handles product files changes

Parameters

Product $product

Return Value

PrimaryKeyInterface|int

at line 1943
Product findByErpCode(string $code)

Find product by erp code

Parameters

string $code

Return Value

Product

Exceptions

DBALException

at line 1954
array findMultipleByErpCode(array $arrayCodes)

Find products for provided array of ids

Parameters

array $arrayCodes

Return Value

array

at line 1963
array getCachedProductGroups()

Find cached product groups

Return Value

array

at line 1972
array getSearchFields()

Find search fields

Return Value

array

at line 1981
array getDefaultSortField()

Get default sort field

Return Value

array

at line 1990
array getAdditionalSearchData()

Find additional search data

Return Value

array

at line 2001
mixed dispatchProductFiltersSignal(array $products)

Dispatch product filter signal

Parameters

array $products

Return Value

mixed

at line 2025
bool|Exception updateProductSalesCount(DateTime $date = null)

Increment product salesCount property

Parameters

DateTime $date

Return Value

bool|Exception

at line 2036
updateProductViewCount(Product $product)

Increment product viewCount filed

Parameters

Product $product

Exceptions

DBALException

at line 2046
dispatchProductSearchEvent(string $searchParam, bool $hasResults)

Dispatch save product search signal

Parameters

string $searchParam
bool $hasResults

at line 2057
array getCurrentPrices()

Find all products prices

Return Value

array

Exceptions

DBALException

at line 2069
array getProductsByAlgorithm(string $algorithm, int $numberOfProducts)

Find products based on algorithm type

Parameters

string $algorithm
int $numberOfProducts

Return Value

array

at line 2099
getErpPrices(array $products)

Find and cache prices from ERP for provided array of products

Parameters

array $products

Exceptions

Exception

at line 2112
int getErpPrice(mixed $product)

Find price from ERP for provided product

Parameters

mixed $product

Return Value

int

Exceptions

Exception

at line 2123
bool checkRolePermissions(string $permission)

Check role permission

Parameters

string $permission

Return Value

bool

at line 2136
array getErpCodesOfProductAndPav()

Find all erpCodes of products and product attribute values

Return Value

array

at line 2148
bool checkUserAndProductPermissions(array $productPermissions, string $permission = RolePermissionTypes::CAN_SEE_QUANTITY_LIGHT_UNDERSCORE)

Check user permissions on product

Parameters

array $productPermissions
string $permission

Return Value

bool

at line 2157
onPricelistChanged(EventWithResult $event)

Re-cache product price list items array field

Parameters

EventWithResult $event

at line 2166
bool|string reCacheProductPricelistItemsArray()

Re-cache product price list items array field

Return Value

bool|string

at line 2179
PrimaryKeyInterface|int updateProductSeo(Product $product)

Update product SEO informations

Parameters

Product $product

Return Value

PrimaryKeyInterface|int

Exceptions

ORMException

at line 2198
PrimaryKeyInterface|int updateProductFields(Product $product)

Update main product fields

Parameters

Product $product

Return Value

PrimaryKeyInterface|int

Exceptions

ORMException

at line 2218
Brand getBrandBySlug(string $slug)

Find brand by slug

Parameters

string $slug

Return Value

Brand

Exceptions

NonUniqueResultException

Update product customProductLinks property

Parameters

array $customProductLinks

Return Value

bool|Exception

at line 2236
UserSettings getUserSettings()

Return Value

UserSettings

at line 2248
EventWithResult|Event dispatchCustomErpPriceLogic(string $userCode, array $products)

Get product prices from ERP

Parameters

string $userCode
array $products

Return Value

EventWithResult|Event

at line 2259
updatePreventDirectAddToCartField()

Prevent product add to cart

Exceptions

DBALException

See also

Product

at line 2272
array getPricesForProducts(array $productIds)

Find products prices

Parameters

array $productIds

Return Value

array

Exceptions

DBALException

at line 2303
array getOfferForProductPage(int $id)

Find buy x get y offer for product by id

Parameters

int $id

Return Value

array

at line 2315
boolean|Exception updateProductsWithCustomLabels(string $label, array $productIds)

Update products with custom labels

Parameters

string $label
array $productIds

Return Value

boolean|Exception

at line 2327
bool updateMultipleProductsRatings(float $newRating, array $brandsArray)

Update product rating for provided array of brands

Parameters

float $newRating
array $brandsArray

Return Value

bool