Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Модуль Меню - заголовки для блоков меню их поля "Название"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 8
Просмотров: 7335
Последний ответ 06 Июня 2014, 12:06:35
от admin
Многоуровневое меню PHP + Модуль меню

Автор StanlyBSVРаздел Шаблоны PHP

Ответов: 0
Просмотров: 2472
Последний ответ 10 Августа 2017, 20:42:18
от StanlyBSV
Модуль "Пользователи" и Loginza

Автор chiken_bobРаздел Разработка модулей

Ответов: 11
Просмотров: 9252
Последний ответ 10 Октября 2011, 15:33:48
от admin
Модуль "Файловый менеджер"

Автор aizulРаздел Настройка системы и модулей

Ответов: 3
Просмотров: 3759
Последний ответ 24 Апреля 2012, 21:39:01
от admin
Модуль "Отложенные товары" для UMI.CMS

Автор e.ioffeРаздел Разработка модулей

Ответов: 5
Просмотров: 5639
Последний ответ 09 Мая 2014, 00:41:54
от e.ioffe

0 Пользователей и 1 Гость просматривают эту тему.

*

Byte

  • *
  • 32
  • +0/-0
    • Просмотр профиля
Всем привет!
Впервые взялся за разработку собственного модуля для 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}.";
}
}

*

Byte

  • *
  • 32
  • +0/-0
    • Просмотр профиля
Re:Создание страниц через модуль
« Ответ #1 : 16 Мая 2013, 19:52:19 »
Добавил шаблон для данного метода, все стало ОК =D

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Создание страниц через модуль
« Ответ #2 : 20 Мая 2013, 14:51:29 »
если создавалось 2 страницы  с одинаковым именем(а прибавка цифры после alt-name говорит именно об этом), то где происходит повторное выполнение данного макроса