Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/ilovecveti.ru/bitrix/modules/catalog/lib/v2/Barcode/ |
Upload File : |
<?php namespace Bitrix\Catalog\v2\Barcode; use Bitrix\Catalog\v2\BaseCollection; use Bitrix\Catalog\v2\BaseEntity; use Bitrix\Catalog\v2\IoC\ContainerContract; use Bitrix\Catalog\v2\IoC\Dependency; /** * Class BarcodeCollection * * @package Bitrix\Catalog\v2\Barcode * * !!! This API is in alpha stage and is not stable. This is subject to change at any time without notice. * @internal */ class BarcodeCollection extends BaseCollection { /** @var ContainerContract */ protected $container; /** @var \Bitrix\Catalog\v2\StoreProduct\BarcodeFactory */ protected $factory; public function __construct(ContainerContract $container, BarcodeFactory $factory) { $this->container = $container; $this->factory = $factory; } public function create(): Barcode { $barcode = $this->factory->createEntity(); $this->add($barcode); return $barcode; } public function getItemByBarcode(string $barcode): ?Barcode { /** @var Barcode $item */ foreach ($this->items as $item) { if ($barcode === $item->getBarcode()) { return $item; } } return null; } public function setSimpleBarcodeValue(string $value = ''): self { $barcodeItem = $this->getFirst(); if ($value !== '') { if (!$barcodeItem) { $barcodeItem = $this->create(); $this->add($barcodeItem); } $barcodeItem->setBarcode($value); } elseif ($barcodeItem) { $barcodeItem->remove(); } return $this; } }