We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 26861
    • 11 Posts
    Делал меню по примеру из статьи Fuzzy http://modx.ru/blog/modx-programming-top-menu/

    Сейчас появилась необходимость добавить второй уровень меню. Сделал по аналогии, работает за исключением одного момента. В главном меню активная ссылка подсвечена. Но когда я перехожу на нижний уровень, то подсветка у родительского пункта меню естественно пропадает. Попробовал при создании пунктов меню добавить проверку еще и по родительскому документу.

    Было так:

    $cid = $modx->documentIdentifier; //получаем ID текущей страницы
    foreach($results as $key => $value) {
    if ($value["id"] == $cid) {
    $active = " id=\"active\"";
    } //присваиваем пункту меню активной страницы id="active"

    Я добавил (так, как понял) проверку на родительский документ, стало так:

    $cid = $modx->documentIdentifier; //получаем ID текущей страницы
    $par= $modx->getParent($cid,1,’id’); //получаем ID родительской страницы

    foreach($results as $key => $value) {
    if ($value["id"] == $cid || $value["id"] == $par) {
    $active = " id=\"active\"";
    } //присваиваем пункту меню активной или родительской страницы id="active"

    Но родительской не присваивается, только активной. Что не так сделал?
      • 26861
      • 11 Posts
      Вопрос закрыт.

      Нашел через гугл тему здесь же про получение родительского ID, почему-то внутренний поиск ее не видит.

      Заменил использование getParent на $par = $modx->documentObject[’parent’];

      Все работает.