We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 3603
    • 128 Posts
    кто может подсказать сниппет для того, чтобы определять дочерние документы и вывести именно их из подкаталога, при этом не выводить запись о том, что "Записей не найдено".
    Пример такой:

    Каталог - основной
    --Автотранспорт
    -----Ремонт и обслуживание
    *****Документ 1
    *****Документ 2
    -----Логистика
    *****Документ 1
    *****Документ 2

    И так далее, и вывести именно документы а не папки, я делал путем нескольких вызовов дитто, но это очень не удобно и не красиво, и если в папках ничего нет, то он выводить, что записей нет, при этом абсолютно везде если нет документов в разделах.

    Подскажите с как сделать, в PHP не бумбум, вчера всю ночь сидел пытался написать подобное, мозгов не хватает
      • 26883
      • 137 Posts
      Зачем делать несколько вызовов Ditto? Достаточно одного вызова с параметром parents, в котором перечислены ID папок, из которых надо выводить документы.
        • 3603
        • 128 Posts
        дело в том, что эти папки могут дополнятся, и каждый раз дописывать в дито ID это бред!
          • 20380
          • 118 Posts
          Тогда сделайте в parents вызов сниппета, который вернет список id-шников через запятую (своим кодом или ditto, но лучше своим, конечно)
            • 9085
            • 630 Posts
            Вообще, видимо речь идет об использовании вложенного Ditto - в шаблоне внешнего дитто делаем вызов внутреннего со всеми нужными параметрами.
            Для пустых документов смотреть параметр
            noResults Text or chunk to display when there are no results

            Читать документацию:
            http://ditto.modxcms.com/files/snippet-ditto-php.html (и вокруг)

            Удачи

            ps. Вложенный вызов Ditto не оптимален и при большом количестве элементов без знаний PHP, пожалуй, придется туговато..


              Правильно заданный вопрос повышает вероятность получения нужного ответа.
              Что-то не работает? Загляните в лог ошибок!
              Есть проблема? "Локализуйте" её!
              Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
              • 18138
              • 30 Posts
              Можно че-то подобное сделать:
              <?php
              $output = '';
              $mainpage = 2;
              $depth = 2;
              
              $where = array(
              	 'parent:IN' => $modx->getChildIds($mainpage,$depth),
              	 'deleted:=' => 0,
              	 'hidemenu:=' => 0,
              	 'published:=' => 1,
              	 'isfolder:=' => 0
              );
              
              $c = $modx->newQuery('modResource');
              $c->where($where);
              $c->sortby('`modResource`.`id`','DESC'); 
              
              $resources = $modx->getCollection('modResource',$c);
              foreach ($resources as $resource) {
              	$output.= $modx->getChunk('MyArticles', array(
              				  'title' => $resource->get('pagetitle'),
              				  'desc'=> $resource->get('content'),
              				  'link'=> $modx->makeUrl($resource->get('id'))
              			        // ....
              				  ));
              }
              return $output;
              ?>

              $mainpage = 2; // Родительская папка для всех элементов
              $depth = 2; // Максимальный уровень для выборки дочерних id
              Таким образом мы получим все вложенные документы НЕпапки, у которых родители $modx->getChildIds($mainpage,$depth)
                Возможно все, но шансы астрономически малы
                • 785
                • 2,113 Posts
                Quote from: Mangust at Oct 05, 2010, 06:41 AM

                Можно че-то подобное сделать:
                Сначала поинтересовались бы используемой версией MODx...
                  Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                  Статьи о MODx, регулярно новые публикации
                  • 3603
                  • 128 Posts
                  1.0.2
                    • 18138
                    • 30 Posts
                    Quote from: AKots at Oct 05, 2010, 07:11 AM

                    Сначала поинтересовались бы используемой версией MODx...
                    Виноват grin
                    Какой вопрос, такой ответ. :Р
                      Возможно все, но шансы астрономически малы
                      • 3603
                      • 128 Posts
                      я бы может быть сам и придумал бы что то. но дело в том, что нет нормальной литературы по MODX, вот например от куда взялось modResource?