ChainPriceResolver.php in Price 2.0.x
File
src/Resolver/ChainPriceResolver.php
View source
<?php
namespace Drupal\price\Resolver;
use Drupal\price\Context;
use Drupal\Core\Entity\ContentEntityInterface;
class ChainPriceResolver implements ChainPriceResolverInterface {
protected $resolvers = [];
public function __construct(array $resolvers = []) {
$this->resolvers = $resolvers;
}
public function addResolver(PriceResolverInterface $resolver) {
$this->resolvers[] = $resolver;
}
public function getResolvers() {
return $this->resolvers;
}
public function resolve(ContentEntityInterface $entity, $quantity, Context $context) {
foreach ($this->resolvers as $resolver) {
$result = $resolver
->resolve($entity, $quantity, $context);
if ($result) {
return $result;
}
}
}
}