src/Model/Product/CalculatedValue/AccessoryPartName.php line 45

Open in your IDE?
  1. <?php
  2. /**
  3.  * Pimcore
  4.  *
  5.  * This source file is available under two different licenses:
  6.  * - GNU General Public License version 3 (GPLv3)
  7.  * - Pimcore Enterprise License (PEL)
  8.  * Full copyright and license information is available in
  9.  * LICENSE.md which is distributed with this source code.
  10.  *
  11.  *  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.org)
  12.  *  @license    http://www.pimcore.org/license     GPLv3 and PEL
  13.  */
  14. namespace App\Model\Product\CalculatedValue;
  15. use App\Model\Product\AccessoryPart;
  16. use App\Website\Tool\ForceInheritance;
  17. use Pimcore\Model\DataObject\ClassDefinition\CalculatorClassInterface;
  18. use Pimcore\Model\DataObject\Concrete;
  19. use Pimcore\Model\DataObject\Data\CalculatedValue;
  20. class AccessoryPartName implements CalculatorClassInterface
  21. {
  22.     public function compute(Concrete $objectCalculatedValue $context): string
  23.     {
  24.         return $this->getCalculatedValueForEditMode($object$context);
  25.     }
  26.     /**
  27.      * @param $object
  28.      * @param $context CalculatedValue
  29.      *
  30.      * @return string
  31.      */
  32.     public function getCalculatedValueForEditMode(Concrete $objectCalculatedValue $context): string
  33.     {
  34.         if ($object instanceof AccessoryPart) {
  35.             $language $context->getPosition();
  36.             return ForceInheritance::run(function () use ($object$language) {
  37.                 return
  38.                     ($object->getManufacturer() ? ($object->getManufacturer()->getName($language) . ' ') : '') .
  39.                     ($object->getSeries() ? ($object->getSeries()->getName($language) . ' ') : '') .
  40.                     ($object->getMainCategory() ? ($object->getMainCategory()->getName($language) . ' ') : '') .
  41.                     $object->getNameAddition($language)
  42.                 ;
  43.             });
  44.         }
  45.         return '';
  46.     }
  47. }