ProductEventContainer
class ProductEventContainer
Class ProductEventContainer is injected as alligator.product.event.container. This container is connecting ProductManager manager to other services
Properties
| protected ContainerInterface | $container |
Methods
ProductEventContainer constructor.
No description
Dispatch product prepare save event
Dispatch product prepare edit event
Find array of categories for provided array
Find featured products
Find product attribute values by id
Dispatch re-cache categories signal
Dispatch generate specific product translations event
Dispatch product removed event
Dispatch update product group event
Get current locale from request
Get logged username, returns '' if user not logged
Get logged user, null otherwise
Has logged user admin privileges
No description
Get search param from current request query
Find collection of images for provided array
Get relative ratio between two currencies
No description
Get current request
No description
Dispatch re-cache promo products event
Dispatch product changed price event
Convert custom price to default currency
Used when plugins need to change availability of products For example: not all products are available for different payment types
Find all brand fields
Find all category fields
Find all attribute fields
Find import-export settings
Find product import settings
No description
Find all attributes
Find all categories
Find brand reference
Find category reference
Find product attribute values reference
Find product reference
Find product by id
Find attribute value reference
Persist new product attribute values from array
Find product attribute values by erp code
Dispatch recalculate items in category event
Find group product with all related products by group product id
Find group product with all related products by related product id
Persist new bundle product
Edit bundle product
Remove bundle product
Dispatch re-cache featured categories
Dispatch remove product translations for array of keys
Dispatch generate product search options value for array of product ids
Find search settings
Find cached product groups
Find search fields. Hook on product.search.fields event
Get default sort field. Hook on product.default.sort.field event
Find additional search data. Hook on product.additional.search.data event
Dispatch product filter signal
Check role permission
Check user permissions on product
Dispatch save product search signal
Find top rated products
Find best seller products
Find most viewed products
Find newest products
Find latest viewed products for user
Find most viewed products for user
Find best seller products that are not bought by user
Find and cache prices from ERP for provided array of products
Find price from ERP for provided product
Check if product is on special offer
Dispatch product exclude filter event. Hook on additional-attr-values-for-filter event
Set custom logic to search wrapper
Find current product settings
Convert price
Convert price
Simple convert price
Find brand by slug
Find current user settings
Get product prices from ERP
Find user price list or default one
Check permalink availability. Permalink must be unique on database level
Dispatch generate custom filter event
Find buy x get y offer for product by id
Generic save event, use this instead of dispatching new events
Details
at line 58
__construct(ContainerInterface $container)
ProductEventContainer constructor.
at line 66
ContainerInterface
getContainer()
at line 79
prepareSaveProduct(Product $product, mixed $categories, mixed $attributeSet, mixed $brand, Product $dbProduct)
Dispatch product prepare save event
at line 98
prepareEditProduct(Product $product, mixed $categories, mixed $attributeSet, mixed $brand, Product $dbProduct)
Dispatch product prepare edit event
at line 126
array
getCategoriesGroup(mixed $array)
Find array of categories for provided array
at line 137
AttributeSet
getDBAttributeSet(AttributeSet $attributeSet)
Find attribute set
at line 146
array
getFeaturedProductsForHomepage()
Find featured products
at line 167
ProductAttributeValues
getProductAttributeValuesById(int $id)
Find product attribute values by id
at line 176
CategoryTreeSignalEvent
dispatchTeeGenerateSignal()
Dispatch re-cache categories signal
at line 185
dispatchImportProductsFromCSVCustom(EventWithResult $event)
Dispatch import product from csv event
at line 196
ProductEvent
dispatchGenerateProductTranslationSignal(Product $product)
Dispatch generate specific product translations event
at line 207
ProductRemoveEvent
dispatchProductRemovedSignal(ArrayCollection $products)
Dispatch product removed event
at line 218
EventWithResult|Event
dispatchProductGroupsUpdateEvent(ProductGroupEvent $productGroupEvent)
Dispatch update product group event
at line 227
string
getDefaultLocale()
Get current locale from request
at line 236
string
getLoggedUsername()
Get logged username, returns '' if user not logged
at line 245
User|null
getLoggedUser()
Get logged user, null otherwise
at line 254
bool
hasRoleAdmin()
Has logged user admin privileges
at line 273
CategoryRepository
getCategoryRepository()
at line 283
mixed
getSearchParam()
Get search param from current request query
at line 294
array
getDBImagesFromGroup(array $array)
Find collection of images for provided array
at line 316
array
getDBCategories(Product $product)
Find product categories
at line 328
float
getRelativeRatio(string $refCurrencyCode, string $currencyCode)
Get relative ratio between two currencies
at line 336
ProductAttributeValuesRepository
getProductAttributeValuesRepository()
at line 345
null|Request
getRequest()
Get current request
at line 352
object
getRedisSession()
at line 361
Event
dispatchPromoProductsReCache()
Dispatch re-cache promo products event
at line 376
ProductChangedPriceEvent|Event
dispatchProductPriceChangedEvent(Product $product, mixed $oldPrice, mixed $lowerPrice, mixed $oldAttrValCosts, null $priceList = null)
Dispatch product changed price event
at line 397
Money
convertToDefaultCurrency(int $price, bool $toDefault = false)
Convert custom price to default currency
at line 409
array
dispatchProductAvailabilityChangeEvent()
Used when plugins need to change availability of products For example: not all products are available for different payment types
at line 423
mixed
getBrandFieldsFromMetadata()
Find all brand fields
at line 434
mixed
getCategoryFieldsFromMetadata()
Find all category fields
at line 445
mixed
getAttributesFieldsFromMetadata()
Find all attribute fields
at line 454
ImportExportSettings
getDBSettingsFields()
Find import-export settings
at line 465
array
getProductImportSettings()
Find product import settings
at line 477
mixed
getDBCSVAttributeSetForAttributes(array $array)
at line 488
array
findAllAttributes()
Find all attributes
at line 497
array
getAllDBCategories()
Find all categories
at line 508
Brand
getReferenceForBrand(int $id)
Find brand reference
at line 519
Category
getReferenceForCategory(int $id)
Find category reference
at line 532
ProductAttributeValues
getReferenceForProductsAttributeVal(int $id)
Find product attribute values reference
at line 543
bool|Proxy|null|object|Product
getReferenceForProduct(int $id)
Find product reference
at line 554
Product
getProductById(int $id)
Find product by id
at line 565
saveProduct(Product $product)
Persist new product
at line 576
bool|Proxy|null|object|AttributeValue
getReferenceForAttributeValue(int $id)
Find attribute value reference
at line 591
array
savePavsFromCSV(array $objectList)
Persist new product attribute values from array
at line 602
mixed
findPavByErpCode(string $erpCode)
Find product attribute values by erp code
at line 611
CategoryEvent
signalCategoryProductCountUpdate()
Dispatch recalculate items in category event
at line 625
GroupProduct
getBundledProductsForGroupProduct(int $groupId)
Find group product with all related products by group product id
at line 639
GroupProduct
getBundleProductForProductId(int $productId)
Find group product with all related products by related product id
at line 653
GroupProduct
saveBundleProduct(Product $product, ArrayCollection $productsArray, array $indexedProducts, bool $generatePrice)
Persist new bundle product
at line 669
mixed
editBundleProduct(Product $product, array $productsArray, array $indexedProducts, bool $generatePrice)
Edit bundle product
at line 681
deleteBundleProduct(int $id)
Remove bundle product
at line 689
dispatchSignalFeaturedCategoriesEvent()
Dispatch re-cache featured categories
at line 699
dispatchRemoveProductTranslation(array $keys)
Dispatch remove product translations for array of keys
at line 708
dispatchProductSearchOptionsGenerate(array $ids)
Dispatch generate product search options value for array of product ids
at line 720
bool|mixed|SearchSettings|string
getSearchSettings()
Find search settings
at line 729
mixed
getCachedProductGroups()
Find cached product groups
at line 738
array|null
getSearchFields()
Find search fields. Hook on product.search.fields event
at line 750
array|null
getDefaultSortField()
Get default sort field. Hook on product.default.sort.field event
at line 762
array|null
getAdditionalSearchData()
Find additional search data. Hook on product.additional.search.data event
at line 776
mixed
dispatchProductFiltersSignalEvent(mixed $products)
Dispatch product filter signal
at line 792
mixed
getCustomSearchProductsCount(ProductSearchWrapper $searchWrapper)
Find custom products count
at line 809
bool
checkRolePermissions(string $string, int $int)
Check role permission
at line 822
bool
checkUserAndProductPermissions(array|string $productPermissions, string $permission = RolePermissionTypes::CAN_SEE_QUANTITY_LIGHT_UNDERSCORE)
Check user permissions on product
at line 832
dispatchProductSearchEvent(string $searchParam, bool $hasResults)
Dispatch save product search signal
at line 849
array
getTopRated(int $numberOfProducts, array|null $limitData = null)
Find top rated products
at line 861
array
getBestSeller(int $numberOfProducts, array|null $limitData = null)
Find best seller products
at line 873
array
getMostViewed(int $numberOfProducts, array|null $limitData = null)
Find most viewed products
at line 885
array
getNewest(int $numberOfProducts, array|null $limitData = null)
Find newest products
at line 896
array
getLatestViewedProductsForUser(int $numberOfProducts)
Find latest viewed products for user
at line 910
array
getMostViewedProductsForUser(int $numberOfProducts)
Find most viewed products for user
at line 925
array
getBestSellerThatAreNotBoughtByUser(int $numberOfProducts, array|null $limitData = null)
Find best seller products that are not bought by user
at line 939
getErpPrices(array $products)
Find and cache prices from ERP for provided array of products
at line 952
int
getErpPrice(mixed $product)
Find price from ERP for provided product
at line 964
array|null
isProductOnSpecialOffer(int $productId, int|null $pavId = null)
Check if product is on special offer
at line 980
array
dispatchProductCustomExcludeFilter(array $possibleAttrs, ProductSearchWrapper $searchWrapper)
Dispatch product exclude filter event. Hook on additional-attr-values-for-filter event
at line 998
dispatchCustomSearchWrapperChange(ProductSearchWrapper $searchWrapper)
Set custom logic to search wrapper
at line 1010
ProductSettings
getCurrentProductSettings()
Find current product settings
at line 1021
float|int
convertPricelistPrice(float $price)
Convert price
at line 1042
float|int
convertFrontedCurrency(float $price, bool $toPricelistCurrency = false)
Convert price
at line 1062
float|int
simpleConvertMoney(float $price, string $from = null, string $to = null)
Simple convert price
at line 1079
Brand|null
getBrandBySlug(string $slug)
Find brand by slug
at line 1088
UserSettings
getUserSettings()
Find current user settings
at line 1100
EventWithResult|Event
dispatchCustomErpPriceLogic(string $userCode, array $products)
Get product prices from ERP
at line 1114
int|null
getCurrentUsersPricelistId()
Find user price list or default one
at line 1125
boolean
checkIfPermalinkIsAvailable(string $permalink)
Check permalink availability. Permalink must be unique on database level
at line 1134
array
dispatchCustomGetAttrsForProducts()
Dispatch generate custom filter event
at line 1145
array
getOfferForProductPage(int $id)
Find buy x get y offer for product by id
at line 1158
dispatchGenericProductSaveEvent(mixed $product)
Generic save event, use this instead of dispatching new events