src/Model/Product/AccessoryPart.php line 21

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;
  15. use Pimcore\Model\DataObject\Car\Listing;
  16. use Pimcore\Model\DataObject\Data\Hotspotimage;
  17. class AccessoryPart extends \Pimcore\Model\DataObject\AccessoryPart
  18. {
  19.     /**
  20.      * @return string
  21.      */
  22.     public function getOSName(): ?string
  23.     {
  24.         return $this->getGeneratedName();
  25.     }
  26.     public function getProductName($language null)
  27.     {
  28.         return
  29.             ($this->getSeries() ? ($this->getSeries()->getName() . ' ') : '') .
  30.             ($this->getMainCategory() ? ($this->getMainCategory()->getName($language) . ' ') : '') .
  31.             $this->getNameAddition($language)
  32.             ;
  33.     }
  34.     /**
  35.      * @return int|string
  36.      */
  37.     public function getOSProductNumber(): ?string
  38.     {
  39.         return $this->getErpNumber();
  40.     }
  41.     /**
  42.      * @return string
  43.      */
  44.     public function getOSIndexType(): ?string
  45.     {
  46.         return self::OBJECT_TYPE_VARIANT;
  47.     }
  48.     /**
  49.      * @return Hotspotimage|null
  50.      */
  51.     public function getMainImage(): ?Hotspotimage
  52.     {
  53.         return $this->getImage();
  54.     }
  55.     /**
  56.      * @return Category[]
  57.      */
  58.     public function getCategories(): ?array
  59.     {
  60.         return [$this->getMainCategory()];
  61.     }
  62.     /**
  63.      * @return int[]
  64.      *
  65.      * @throws \Exception
  66.      */
  67.     public function getCompatibleToProductIds()
  68.     {
  69.         $paths = [];
  70.         foreach ($this->getCompatibleTo() as $compatible) {
  71.             $paths[] = 'o_path LIKE "' $compatible->getFullPath() . '%"';
  72.         }
  73.         $listing = new Listing();
  74.         $listing->setCondition(implode(' OR '$paths));
  75.         return $listing->loadIdList();
  76.     }
  77. }