UMIhelp

Разработка дополнительного функционала => Custom макросы => Тема начата: muldy от 15 Октября 2013, 18:32:43

Название: Назначить родительскую страницу?
Отправлено: muldy от 15 Октября 2013, 18:32:43
Здравствуйте!
Возник вопрос а как назначить страницу родителя объекту каталога?
Те при сохранении чтобы менялся родитель страницы?
Название: Re:Назначить родительскую страницу?
Отправлено: admin от 16 Октября 2013, 00:08:53
посмотрите в сторону moveBefore() и moveFirst()

например
umiHierarchy::getInstance()->moveBefore($page_id, $new_parent_id);
Название: Re:Назначить родительскую страницу?
Отправлено: muldy от 16 Октября 2013, 12:25:44
Ок спасибо, не увидел это в справке)
Название: Re:Назначить родительскую страницу?
Отправлено: muldy от 16 Октября 2013, 23:30:56
Правда чего то не могу сообразить а как получить id редактируемой страницы?
Название: Re:Назначить родительскую страницу?
Отправлено: admin от 17 Октября 2013, 01:34:57
а вы в каком месте назначаете родителя? что это за макрос, что ему доступно? откуда он должен брать страницу у которой меняет родителя?
Название: Re:Назначить родительскую страницу?
Отправлено: muldy от 17 Октября 2013, 10:43:32
У меня это событие и соответственно при сохранении будет меняться родительская страница!
Те точка вызова systemModifyelement, соответственно при редактировании страницы, мне и потребуется получить ее id!
Название: Re:Назначить родительскую страницу?
Отправлено: admin от 17 Октября 2013, 13:37:32
события обычно передают какие-то параметры и т.п. если вы говорите о событии редактирования страницы, то это событие передает саму страницу, из которой вы можете получить её id
Название: Re:Назначить родительскую страницу?
Отправлено: muldy от 17 Октября 2013, 16:09:13
Оказалось все банально как вы и говорили))

$object_id = $object->getId();

А вот как получить id последней актвированой страницы?
Те чтобы моя ставилась после него, не пойму может быть использовать селектор?
Название: Re:Назначить родительскую страницу?
Отправлено: admin от 17 Октября 2013, 17:28:23
если вы работаете с событием, то для получения самой страницы, и в последствии её id, пользуемся

 $element = $event->getRef("element");

P.S. возможно у вас все верно просто немного смущает object как название переменной
Название: Re:Назначить родительскую страницу?
Отправлено: muldy от 18 Октября 2013, 08:20:39
У меня переменная вместо element просто стоит object, вот и все)
А вот как выбрать последнюю активную страницу?
Название: Re:Назначить родительскую страницу?
Отправлено: admin от 18 Октября 2013, 09:40:22
насчет активной, это скорее всего через выборку, а если просто в конец раздела, то у макроса   movebefore (http://api.docs.umi-cms.ru/spravochnik_po_klassam_yadra_umicms/model_ierarhii/umihierarchy/movebefore/) если не задавать последний параметр, то страница попадет в конец списка.
Название: Re:Назначить родительскую страницу?
Отправлено: muldy от 18 Октября 2013, 11:16:07
Да разобрался поставил параметр false и все! Страница теперь последняя в структуре!