Здравствуйте. Вроде не маленький мальчик и подобное делал не раз, но почему-то сейчас у меня не получается сделать редирект на созданную страницу, как допустим создание блога - отправили из формы данные в макрос, а там $this->redirect();
Что делаю:
0. создаём страницу - получаем id
1. прописываем права (аналогично блогах и стандартному кодэ)
2. по id страницы получаем objectId источника данных страницы
3. сохраняем заполненные поля
4. commit для созданной страницы
5. выводим id страницы - выводится
6. через происходит либо а) выводим url - не выводится б) если выводится - редиректится
Что пробовал делать - у меня по порядку идут страницы, т.е. я заранее знаю url. Так вот я руками прописывал следующий url и редирект происходил.
$questId = $hierarchy->addElement('41807','27', $name, $name,'1338');
$quest = $hierarchy->getElement($questId);
$quest->setIsActive(true);
$oUsers = cmsController::getInstance()->getModule('users');
$pCollection = permissionsCollection::getInstance();
$pCollection->setDefaultPermissions($questId);
$pCollection->setElementPermissions($oUsers->user_id, $questId, 31);
$user = umiObjectsCollection::getInstance()->getObject( $oUsers->user_id );
$groups = $user->getValue('groups');
foreach($groups as $id)
$pCollection->setElementPermissions($id, $blogId, 1);
$data = cmsController::getInstance()->getModule("data");
$oQuestId = $quest->getObjectId();
$data->saveEditedObject($oQuestId,true);
$quest->commit();
var_dump($questId);
var_dump($hierarchy->getIdByPath($questId));
$this->redirect($hierarchy->getIdByPath($questId));
UPDATE:
заметил, что так работает -
$this->redirect($quest->link);
попробуй не
$this->redirect($hierarchy->getIdByPath($questId));
, а
$url = $hierarchy->getIdByPath($questId);
var_dump($url);
$this->redirect($url);
и заодно скажи, выводиться ли $url?