Массовое изменение типа данных у дочерних страниц — различия между версиями
Материал из Umicms
Kublan (обсуждение | вклад) (Новая страница: «Если Вам необходимо массово изменить тип данных дочерних страниц, например, у раздела кат…») |
Kublan (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
+ | '''Актуально для версии 18.''' | ||
+ | |||
Если Вам необходимо массово изменить тип данных дочерних страниц, например, у раздела каталога, то для этого можно написать простой скрипт. | Если Вам необходимо массово изменить тип данных дочерних страниц, например, у раздела каталога, то для этого можно написать простой скрипт. | ||
Строка 4: | Строка 6: | ||
<source lang="php"> | <source lang="php"> | ||
+ | <?php | ||
+ | |||
require 'standalone.php'; | require 'standalone.php'; | ||
Строка 10: | Строка 14: | ||
$childrenList = $hierarchy->getChildrenTree($parentId); | $childrenList = $hierarchy->getChildrenTree($parentId); | ||
− | foreach($childrenList as $ | + | foreach($childrenList as $elementId => $value) { |
+ | $element = $hierarchy->getElement($elementId); | ||
$object = $element->getObject(); | $object = $element->getObject(); | ||
Текущая версия на 07:43, 13 августа 2018
Актуально для версии 18.
Если Вам необходимо массово изменить тип данных дочерних страниц, например, у раздела каталога, то для этого можно написать простой скрипт.
Добавим файл change_type.php в корень сайта и внесем в него следующий код:
<?php
require 'standalone.php';
$hierarchy = umiHierarchy::getInstance();
$childrenList = $hierarchy->getChildrenTree($parentId);
foreach($childrenList as $elementId => $value) {
$element = $hierarchy->getElement($elementId);
$object = $element->getObject();
if (!$object instanceof iUmiObject) {
throw new Exception('Передан не объект');
}
$object->setTypeId($typeId);
}
Где $parentId это id элемента, дочерние страницы которого мы хотим изменить, а $typeId это id нового типа данных.
Внимание:
Уже заполненные значения останутся в БД, но станут недоступны через API, если не переключить тип данных для объекта назад.
Вызвать скрипт вы можете перейдя по ссылке имя_сайта.ru/change_type.php