UMIhelp

Разработка дополнительного функционала => Разработка модулей => Тема начата: Byte от 16 Мая 2013, 18:59:12

Название: Создание страниц через модуль
Отправлено: Byte от 16 Мая 2013, 18:59:12
Всем привет!
Впервые взялся за разработку собственного модуля для UMI, делаю по примерам из документации, так же из примеров взял код создания страниц, но при его выполнении почему-то создаются 2 одинаковые страницы, разница только в псевдостатическом адресе, у 2й дописывается единица. В чем может быть дело?

Вот код:
public function newMyPage() {
//Определим свойства страницы, которую будем создавать
 $newElementName = $_POST["caption"];

 $hierarchy = umiHierarchy::getInstance();
 $newElementAltName = $hierarchy->convertAltName($newElementName); ;
 
 //Получим иерархический типа страницы - "Новость"
 $hierarchyTypes = umiHierarchyTypesCollection::getInstance();
 $hierarchyType = $hierarchyTypes->getTypeByName("MyPages", "MyPage");
 $hierarchyTypeId = $hierarchyType->getId();
 
 $hierarchy = umiHierarchy::getInstance();
 
 //Получим id родительской страницы
 $parentElementId = 0;
 
 //add new element
 $newElementId = $hierarchy->addElement($parentElementId, $hierarchyTypeId, $newElementName, $newElementAltName);
 if($newElementId === false) {
  echo "Не удалось создать новую страницу";
 }
 
 //Установим права на страницу в состояние "по умолчанию"
 $permissions = permissionsCollection::getInstance();
 $permissions->setDefaultPermissions($newElementId);
 
 //Получим экземпляр страницы
 $newElement = $hierarchy->getElement($newElementId);
 
 if($newElement instanceof umiHierarchyElement) {
  //Заполним новую страницу свойствами
  $newElement->setValue("h1", $newElementName);
 
  //Укажем, что страница является активной
  $newElement->setIsActive(true);
 
  //Подтвердим внесенные изменения
  $newElement->commit();
 
  //Покажем адрес новой страницы
  echo "Успешно создана страница с адресом: \"", $hierarchy->getPathById($newElementId), "\"";
 } else {
  echo "Не удалось получить экземпляр страницы #{$newElementId}.";
}
}
Название: Re:Создание страниц через модуль
Отправлено: Byte от 16 Мая 2013, 19:52:19
Добавил шаблон для данного метода, все стало ОК =D
Название: Re:Создание страниц через модуль
Отправлено: admin от 20 Мая 2013, 14:51:29
если создавалось 2 страницы  с одинаковым именем(а прибавка цифры после alt-name говорит именно об этом), то где происходит повторное выполнение данного макроса