Вывод всех URL поселения сайт Есть решение

Добрый день.

Помогите решить проблему с выводом всех страниц сайта.

{$site_pages = $wa->site->pages()}
    {if $site_pages}
    <div>
        {foreach $site_pages as $elem}
        <div><a href="{$elem.url}">{$elem.name}</a></div>
        {/foreach}
    </div>
{/if}

Выводит только страницы верхнего уровня.
Как вывести страницы 2 уровня?

2 ответа

  • 1
    replicant 21 марта 2022 12:36 # Решение

    У полученных в ходе разбора массива страниц надо проверять потомков в общих чертах примерно так

    {if !empty($elem.childs)}
    {foreach $elem.childs as $subpage}
    ... тут оформляем вывод...
    {/foreach}
    {/if}

    Если структура страниц многоуровневая, т.е. предполагается более 1 вложения, то надо будет вводить ещё и $level+1.

    Во многих темах дизайна код обработки вложенных страниц есть.

    • +1
      Александр Стегалин Александр Стегалин 21 марта 2022 12:44 #

      Спасибо добрый человек)
      Вышло так.

      <div class="row justify-content-center">
              <div class="col-xl-12 col-12">
                  {$site_pages = $wa->site->pages()}
                  {if $site_pages}
                      <div>
                          {foreach $site_pages as $elem}
                          <div><a href="{$elem.url}">{$elem.name}</a></div>
                              {if !empty($elem.childs)}
                                  {foreach $elem.childs as $subpage}
                                  <div><a href="{$subpage.url}">{$subpage.name}</a></div>
                                  {/foreach}
                              {/if}
                          {/foreach}
                      </div>
                  {/if}
              </div>
          </div>

      Работает)

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите