Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

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

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Назначить родительскую страницу?
« : 15 Октября 2013, 18:32:43 »
Здравствуйте!
Возник вопрос а как назначить страницу родителя объекту каталога?
Те при сохранении чтобы менялся родитель страницы?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Назначить родительскую страницу?
« Ответ #1 : 16 Октября 2013, 00:08:53 »
посмотрите в сторону moveBefore() и moveFirst()

например
umiHierarchy::getInstance()->moveBefore($page_id, $new_parent_id);

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Re:Назначить родительскую страницу?
« Ответ #2 : 16 Октября 2013, 12:25:44 »
Ок спасибо, не увидел это в справке)

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Re:Назначить родительскую страницу?
« Ответ #3 : 16 Октября 2013, 23:30:56 »
Правда чего то не могу сообразить а как получить id редактируемой страницы?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Назначить родительскую страницу?
« Ответ #4 : 17 Октября 2013, 01:34:57 »
а вы в каком месте назначаете родителя? что это за макрос, что ему доступно? откуда он должен брать страницу у которой меняет родителя?

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Re:Назначить родительскую страницу?
« Ответ #5 : 17 Октября 2013, 10:43:32 »
У меня это событие и соответственно при сохранении будет меняться родительская страница!
Те точка вызова systemModifyelement, соответственно при редактировании страницы, мне и потребуется получить ее id!

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Назначить родительскую страницу?
« Ответ #6 : 17 Октября 2013, 13:37:32 »
события обычно передают какие-то параметры и т.п. если вы говорите о событии редактирования страницы, то это событие передает саму страницу, из которой вы можете получить её id

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Re:Назначить родительскую страницу?
« Ответ #7 : 17 Октября 2013, 16:09:13 »
Оказалось все банально как вы и говорили))

$object_id = $object->getId();

А вот как получить id последней актвированой страницы?
Те чтобы моя ставилась после него, не пойму может быть использовать селектор?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Назначить родительскую страницу?
« Ответ #8 : 17 Октября 2013, 17:28:23 »
если вы работаете с событием, то для получения самой страницы, и в последствии её id, пользуемся

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

P.S. возможно у вас все верно просто немного смущает object как название переменной
« Последнее редактирование: 17 Октября 2013, 17:30:02 от admin »

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Re:Назначить родительскую страницу?
« Ответ #9 : 18 Октября 2013, 08:20:39 »
У меня переменная вместо element просто стоит object, вот и все)
А вот как выбрать последнюю активную страницу?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Назначить родительскую страницу?
« Ответ #10 : 18 Октября 2013, 09:40:22 »
насчет активной, это скорее всего через выборку, а если просто в конец раздела, то у макроса   movebefore если не задавать последний параметр, то страница попадет в конец списка.

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Re:Назначить родительскую страницу?
« Ответ #11 : 18 Октября 2013, 11:16:07 »
Да разобрался поставил параметр false и все! Страница теперь последняя в структуре!