1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Data;
- use Magento\Framework\Data\Collection\AbstractDb;
- /**
- * It is pool of collection conditions, which can be add to
- * Product Collection.
- * This class was created, as extension point, in order to resolve problem with area specific plugins, which
- * listens product collection. F.E. this class allows to apply stock filter not only for frontend area
- * but for other areas for product collection too
- */
- class CollectionModifier implements CollectionModifierInterface
- {
- /**
- * @var CollectionModifierInterface[]
- */
- private $conditions;
- /**
- * CollectionConditionApplier constructor.
- * @param array $conditions
- */
- public function __construct(
- array $conditions
- ) {
- $this->conditions = $conditions;
- }
- /**
- * Composite method, which apply different product conditions
- * you can register new condition in module/di.xml
- *
- * @param AbstractDb $collection
- * @return void
- */
- public function apply(AbstractDb $collection)
- {
- foreach ($this->conditions as $condition) {
- $condition->apply($collection);
- }
- }
- }
|