We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 6623
    • 127 Posts
    Как определить id главного родителя? Т.е. есть страницы с уровнем вложенности к примеру 5, как находясь на 5ом уровне, определить id элемента с уровнем 0, для данного элемента? Есть что стандартное?
      • 1788
      • 1,103 Posts
      Quote from: DAS at Jun 09, 2010, 11:55 PM

      Как определить id главного родителя? Т.е. есть страницы с уровнем вложенности к примеру 5, как находясь на 5ом уровне, определить id элемента с уровнем 0, для данного элемента? Есть что стандартное?
      UltimateParent
        • 28814 ☆ A M B ☆
        • 1,086 Posts
        Функция API getParentIds()
          Разработка сайтов и программных модулей на MODX.
          Опыт работы на MODx с 2005 года. Высокое качество.
          Компания Baltic Design Colors: http://www.bdcolors.ru.
          • 26861
          • 11 Posts
          А не подскажет кто-нибудь, как правильно использовать в сниппете?

          Назначение переменной родительского id у меня правильно заработало только в таком виде:
          $parents = $modx->documentObject[’parent’];
          (взял из примера здесь же на форуме)

          А вот с "дедовским" затык, почему-то не выходит подставить его номер переменной ни через UltimateParent, ни через getParentIds()
            • 9085
            • 630 Posts
            Quote from: Shad at Jun 21, 2010, 04:30 AM

            А не подскажет кто-нибудь, как правильно использовать в сниппете?

            Назначение переменной родительского id у меня правильно заработало только в таком виде:
            $parents = $modx->documentObject[’parent’];
            (взял из примера здесь же на форуме)

            А вот с "дедовским" затык, почему-то не выходит подставить его номер переменной ни через UltimateParent, ни через getParentIds()

            Snippet [[getparents]]
            <?php
            $parents = $modx->getParentIds($modx->documentObject['id']);
            print_r ($parents);
            ?>

            для документа третьего уровня (http://domain.tld/lvl1/lvl2/lvl3) выводит:
            Array ( [lvl1/lvl2] => 10 [lvl1] => 9 )

            Как найти "дедушку" - понятно? (второй элемент.. )
            $parent_ids = array_values($parents);
            echo $parent_ids[1] ; // по идее должен быть дед


            ps. кстати, в википедии в примере очепятка была - поправил.
              Правильно заданный вопрос повышает вероятность получения нужного ответа.
              Что-то не работает? Загляните в лог ошибок!
              Есть проблема? "Локализуйте" её!
              Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
              • 26861
              • 11 Posts
              esche, спасибо.
              Получилось.