We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 27954
    • 23 Posts
    Добрый день, нужно вытащить имя родительского раздела. Судя по документации
    [*parent*] - номер (ID) родительского документа
    А мне нужно pagetitle этого самого родительского документа.
    Не подскажите как? Хочу использовать этот параметр в meta тегах.
      • 16259
      • 33 Posts
      Попробуйте использовать
      $parent = $modx->getParent(id,1,'pagetitle');
      Здесь "id" - номер Вашего документа, для которого хотите узнать имя родителя, а "1" означает, что документ-родитель опубликован (если не опубликован, поставьте "0").

        • 27954
        • 23 Posts
        Спасибо, основное направление понятно. Единственное но, с modx работаю недавно, и с API не сталкивалась еще. Не подскажите, куда конкретно это вставить и как использовать? Или ссылочку на подобное действие в учебнике?
          • 1788
          • 1,103 Posts
          Quote from: solli at Sep 14, 2009, 02:08 AM

          Спасибо, основное направление понятно. Единственное но, с modx работаю недавно, и с API не сталкивалась еще. Не подскажите, куда конкретно это вставить и как использовать? Или ссылочку на подобное действие в учебнике?
          поищите в репозитарии сниппет GetField
            • 27954
            • 23 Posts
            Благодарю, все получилось smiley

            Если кому интересно, после установки сниппета, указанного выше (http://modxcms.com/extras/package/173), создала TV keyword со значением по умолчанию
            [[GetField? &parent=`1` &parentLevel=`1` &field=`pagetitle`]]|[*pagetitle*] тра-ля-ля общее описание товаров

            и в шаблоне прописываю
            <meta name="description" content="[*keyword*]">

            Теперь все страницы имеют тег description вида "Категория товара|Товар тра-ля-ля общее описание товаров". При необходимости есть возможность вручную написать другой тег или подправить этот прямо из редактирования документа.

              • 1611
              • 591 Posts
              modx вообще очень гибкая система.
              Главное, не злоупотребляйте сниппетом GetField т.к. он делает несколько запросов к базе, при каждом своем вызове.

              Когда мне нужно было поле alias в wayfinder и я попробовал доставать его через getfield, то на каждый пункт меню приходилось 8 запросов к базе (часть делал wayfinder, часть getfield) в итоге, пришлось от этого отказаться и сделать по-другому.
                • 1788
                • 1,103 Posts
                Quote from: Andrey at Sep 14, 2009, 08:36 AM

                modx вообще очень гибкая система.
                Главное, не злоупотребляйте сниппетом GetField т.к. он делает несколько запросов к базе, при каждом своем вызове.

                Когда мне нужно было поле alias в wayfinder и я попробовал доставать его через getfield, то на каждый пункт меню приходилось 8 запросов к базе (часть делал wayfinder, часть getfield) в итоге, пришлось от этого отказаться и сделать по-другому.
                Кеш никто не отменял. А вообще, для запросов "по-мелоче" лучьше да, писать свой короткий сниппет.
                Зачем поле alias в wayfinder ?
                  • 1611
                  • 591 Posts
                  Кеш это конечно хорошо, но делать милион запросов тоже не стоит.
                  Поле alias нужно было для задания уникального класса каждому пункту меню, совпадающему с алиасом (для простоты), т.к. меню сверстанно спрайтами.
                    • 11255
                    • 193 Posts
                    помоему все меню и выводы улучше самому выводить. писать свой сниппет и одним запросом выводить.
                      • 5736
                      • 11 Posts
                      Quote from: Andrey at Sep 14, 2009, 08:36 AM

                      modx вообще очень гибкая система
                      ну ну)) только вот пока что-нить сделаешь укликаешься.

                      а есть какой-нить короткий способ без сниппетов? а то такая простая задача, а надо чё-то качать и куда-то вставлять - бред)