| Current Path : /var/www/homesaver/www/bitrix/modules/sprint.migration/templates/ |
| Current File : /var/www/homesaver/www/bitrix/modules/sprint.migration/templates/IblockElementsExport.php |
<?php
/**
* @var $version
* @var $description
* @var $updateMode
* @var $extendUse
* @var $extendClass
* @var $moduleVersion
* @var $author
* @formatter:off
*/
use Sprint\Migration\Exchange\IblockElementsExport;
?><?php echo "<?php\n" ?>
namespace Sprint\Migration;
<?php echo $extendUse ?>
class <?php echo $version ?> extends <?php echo $extendClass ?>
{
protected $author = "<?php echo $author ?>";
protected $description = "<?php echo $description ?>";
protected $moduleVersion = "<?php echo $moduleVersion ?>";
/**
* @throws Exceptions\MigrationException
* @throws Exceptions\RestartException
* @return bool|void
*/
public function up()
{
$this->getExchangeManager()
->IblockElementsImport()
->setExchangeResource('iblock_elements.xml')
->setLimit(20)
->execute(function ($item) {
<?php if ($updateMode == IblockElementsExport::UPDATE_MODE_CODE) { ?>
$this->getHelperManager()
->Iblock()
->saveElement(
$item['iblock_id'],
$item['fields'],
$item['properties']
);
<?php } elseif($updateMode == IblockElementsExport::UPDATE_MODE_XML_ID) { ?>
$this->getHelperManager()
->Iblock()
->saveElementByXmlId(
$item['iblock_id'],
$item['fields'],
$item['properties']
);
<?php } else { ?>
$this->getHelperManager()
->Iblock()
->addElement(
$item['iblock_id'],
$item['fields'],
$item['properties']
);
<?php } ?>
});
}
/**
* @throws Exceptions\MigrationException
* @throws Exceptions\RestartException
* @return bool|void
*/
public function down()
{
<?php if ($updateMode == IblockElementsExport::UPDATE_MODE_CODE) { ?>
$this->getExchangeManager()
->IblockElementsImport()
->setExchangeResource('iblock_elements.xml')
->setLimit(10)
->execute(function ($item) {
$this->getHelperManager()
->Iblock()
->deleteElementByCode(
$item['iblock_id'],
$item['fields']['CODE']
);
});
<?php } elseif($updateMode == IblockElementsExport::UPDATE_MODE_XML_ID) { ?>
$this->getExchangeManager()
->IblockElementsImport()
->setExchangeResource('iblock_elements.xml')
->setLimit(10)
->execute(function ($item) {
$this->getHelperManager()
->Iblock()
->deleteElementByXmlId(
$item['iblock_id'],
$item['fields']['XML_ID']
);
});
<?php } ?>
}
}