• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/delivery/services/base.php
  • Класс: BitrixSaleDeliveryServicesfor
  • Вызов: for::createClone
public function createClone(SplObjectStorage $cloneEntity)
{
	if ($this->isClone() && $cloneEntity->contains($this))
	{
		return $cloneEntity[$this];
	}

	$deliveryServiceClone = clone $this;
	$deliveryServiceClone->isClone = true;

	if (!$cloneEntity->contains($this))
	{
		$cloneEntity[$this] = $deliveryServiceClone;
	}

	/** @var DeliveryExtraServicesManager $extraServices */
	if ($extraServices = $this->getExtraServices())
	{
		if (!$cloneEntity->contains($extraServices))
		{
			$cloneEntity[$extraServices] = $extraServices->createClone($cloneEntity);
		}

		if ($cloneEntity->contains($extraServices))
		{
			$deliveryServiceClone->extraServices = $cloneEntity[$extraServices];
		}
	}

	return $deliveryServiceClone;
}