We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 27746
    • 44 Posts
    Сложность в том что у меня структура:

    --папка
    |--подпапка
    |--документ
    |--документ
    |--документ
    |--документ
    |--подпапка
    |--документ
    |--подпапка

    И мне надо выводить последние 10 документов 3-го уровня.
    Можно было бы поставить не выводить папки, но тогда всеравно вылазят документы 2-го уровня.
      • 27724
      • 65 Posts
      Вопрос не совсем понятен, у дитто есть параметр &parents=`ID документа из которого выводит новости` или &startID=``
        Лечите компьютер от вирусов здесь http://virusinfo.info
        • 27966
        • 8 Posts
        Quote from: smeley at Apr 18, 2008, 03:09 AM

        Вопрос не совсем понятен, у дитто есть параметр &parents=`ID документа из которого выводит новости` или &startID=``
        я думаю задача стоит не в том, чтобы пометить все нужные документы каким-нимть TV и сделать в дитто фильтр по этой переменной или указать всех нужных парентов и сделать depth = 1, а в том чтобы все получилось автоматически..

        здесь бы помог фильтр по level-у для документа, но я не нашел такое свойство - возможно самый легкий путь подредактировать код сниппета и добавить такое свойство
          • 27746
          • 44 Posts
          Quote from: solomonk at Apr 18, 2008, 04:30 AM

          я думаю задача стоит не в том, чтобы пометить все нужные документы каким-нимть TV и сделать в дитто фильтр по этой переменной или указать всех нужных парентов и сделать depth = 1, а в том чтобы все получилось автоматически..

          здесь бы помог фильтр по level-у для документа, но я не нашел такое свойство - возможно самый легкий путь подредактировать код сниппета и добавить такое свойство
          В принципе у нужных мне документов в отличии от остальных есть параметр TV (но значение его разное).
          Есть ли возможность установить фильтр на существование параметра TV (Т.е. если он есть, значит выводим, если нет, то не выводим)?

          Указать всех парентов, это конечно слишком геморройно, т.к. их количество будет около 300 и постоянно увеличиваться.
          Подредактировать код сниппета боюсь не получится, т.к. я о пхп и MySQL знаю только, что они существуют grin
            • 593
            • 56 Posts
            можно написать малюсенький сниппет, отбирающий из таблицы id документов второго уровня и передать этот сниппет как параметр parents для Ditto.

            Примерный код сниппета:

            $query="SELECT id from modx_site_content where parent=10 and published=1 and isfolder=1";
            $result=mysql_query($query)
            or die ("Query failed");

            while ($line = mysql_fetch_array($result)) {
            $arr[]=$line[0];
            }

            $documents=implode(",",$arr);

            return $documents;
              • 27746
              • 44 Posts
              afizikov, спасибо. Код работает как надо, только я не очень понял как его к дитто подключить.
              Создал снипет с этим кодом. Создал чанк из которого вызывается этот снипет. Проверил. Работает как надо.
              Начал подключать к дитто &parents=`название чанка` и ничего не получается.
                • 1788
                • 1,103 Posts
                Quote from: Smiler at Apr 21, 2008, 03:28 PM

                afizikov, спасибо. Код работает как надо, только я не очень понял как его к дитто подключить.
                Создал снипет с этим кодом. Создал чанк из которого вызывается этот снипет. Проверил. Работает как надо.
                Начал подключать к дитто &parents=`название чанка` и ничего не получается.
                Попробуйте через систему расширений у дитто.
                  • 593
                  • 56 Posts
                  Quote from: antey at Apr 22, 2008, 12:43 AM

                  Quote from: Smiler at Apr 21, 2008, 03:28 PM

                  afizikov, спасибо. Код работает как надо, только я не очень понял как его к дитто подключить.
                  Создал снипет с этим кодом. Создал чанк из которого вызывается этот снипет. Проверил. Работает как надо.
                  Начал подключать к дитто &parents=`название чанка` и ничего не получается.
                  Попробуйте через систему расширений у дитто.
                  вот так попробуйте [[Ditto? &parents=`[[сниппет]]`]]
                  ну т.е. минуя чанк
                    • 28957
                    • 122 Posts
                    а чем [[Ditto? &filter=`isfolder, 0` &depth=`3`]] плохо?
                      suvit
                      РROGWAY
                      • 27746
                      • 44 Posts
                      afizikov, спасибо, так помогло.
                      Quote from: suvit at Apr 22, 2008, 01:59 AM

                      а чем [[Ditto? &filter=`isfolder, 0` &depth=`3`]] плохо?
                      Дело в том, что таким образом выводятся документы не только третьего уровня, но и второго, не являющиеся папками.

                      Quote from: afizikov at Apr 21, 2008, 09:25 AM

                      можно написать малюсенький сниппет, отбирающий из таблицы id документов второго уровня и передать этот сниппет как параметр parents для Ditto.

                      Примерный код сниппета:

                      $query="SELECT id from modx_site_content where parent=10 and published=1 and isfolder=1";
                      $result=mysql_query($query)
                      or die ("Query failed");

                      while ($line = mysql_fetch_array($result)) {
                      $arr[]=$line[0];
                      }

                      $documents=implode(",",$arr);

                      return $documents;


                      А как можно изменить код, чтоб выводились ID папок не второго, а третьего уровня (четырехуровневая структура)? Так уж получилось, что ошибся с кол-вом уровней в первом посте.