Как вывести pagetitle родителя текущего ресурса?

Вопрос вроде бы простой, но поставил меня в затруднение
Семен Красиков
25 октября 2018, 15:15
modx.pro
7 480
0

Комментарии: 16

Михаил Боровов
25 октября 2018, 15:48
0
Вот решение — посмотри
    Михаил Боровов
    25 октября 2018, 15:53
    0
      Баха Волков
      25 октября 2018, 15:57
      2
      +3
      Эмм… Зачем так сложно? Устанавливаете pdoTools и:

      MODX:
      [[#[[*parent]].pagetitle]]

      fenom:
      {$_modx->resource.parent | resource : 'pagetitle'}

      Причём fastField устанавливать не надо, в pdoTools он вшит
        Михаил Боровов
        25 октября 2018, 16:15
        0
        Точно!
        про это забыл:
        [[#[[*parent]].pagetitle]]
          Семен Красиков
          26 октября 2018, 13:32
          0
          спасибо, сработало идеально
            Zulya
            05 апреля 2019, 20:30
            0
            Я использовала так:
            [[#[[*parent]].pagetitle]]
            Но в логах есть такая ошибка:
            [2019-04-05 16:35:58] (ERROR @ /home/.../public_html/core/model/modx/modparser.class.php: 541) Could not find snippet with name #[[+parent]].pagetitle.
            Может эта ошибка не относится к этому?
              Баха Волков
              05 апреля 2019, 21:04
              0
              Относится. Вы видимо не установили pdoTools или fastField
                Zulya
                05 апреля 2019, 21:48
                0
                pdoTools я всегда первым делом устанавливаю. Но fastField я еще не устанавливала.
                  Баха Волков
                  05 апреля 2019, 22:03
                  0
                  Если pdoTools установлен, то должно работать. Значит проблема в чем-то другом
                    Zulya
                    09 апреля 2019, 20:51
                    0
                    Как можно узнать в чем или где проблема?
                      Денис Чубенко
                      09 апреля 2019, 21:06
                      +1
                      точно так в коде написано, parent со звездочкой??
                      [[#[[*parent]].pagetitle]]
                      Согласно логов стоит parent с плюсом
                      Could not find snippet with name #[[+parent]].pagetitle.
                        Zulya
                        09 апреля 2019, 21:47
                        0
                        Спасибо! Нашла ошибку.
              Александр Быковский
              10 марта 2022, 10:58
              0
              Я себе уже всю голову сломал с феномом) Вот такой чанк, который обрабатывается pdoResources
              <!-- [[#[[+parent]].alias]] -->
              <!-- {$_modx->resource.parent | resource : 'alias'}-->
              
              <li data-category="[[#[[+parent]].alias]]">
                <div class="catalog-card">
                  {$pagetitle}
                </div>
              </li>
              Структура такова

              В коллекциях лежат ресурсы, мы их выбираем и каждому элементу присваиваем атрибут data-category с алиасом родителя (названием категории)

              Вызов pdoResources
              {'pdoResources' | snippet: [
                  'parents' => $_modx->resource.id,
                  'depth' => '3',
                  'limit' => '0',
                  'tpl'  => '@FILE chunks/painting/catalog_block.tpl',
                  'sortby'  =>  'menuindex',
                  'sortdir'  =>  'ASC',
                  'where' => '{"template":4}'
                ]}
              Проблема в том, что вызов
              [[#[[+parent]].alias]]
              даёт верный результат, а вызов через Fenom выдает алиас страницы, на которой вызывается сниппет: в данном случае catalog

              Что я делаю не так?
              Спасибо
                Наумов Алексей
                10 марта 2022, 11:57
                +1
                [[#[[+parent]].alias]]
                и
                {$_modx->resource.parent | resource : 'alias'}
                вызванные «внутри» pdoResources, это разные конструкции.

                Первый код — это parent того ресурса, который сейчас обрабатывает pdoResources в цикле.
                А во втором коде — это будет всегда parent ТЕКУЩЕГО ресурса, того, который открыт в браузере у пользователя.
                Вам нужно сделать так:
                {$parent | resource : 'alias'}
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            16