We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 32370
    • 1 Posts
    Здравствуйте

    Сейчас встала появилась задача: в MODX Revolution есть достаточно большое количество документов, у некоторых из которых есть TV параметр(чекбокс) в сниппете нужно средствами modx найти все документы у которых этот чекбокс установлен. Посоветуйте пожалуйста как это можно сделать не прибегая к последовательному перебору всех документов. Сам алгоритм ясен, интересна именно сама реализация.

    Спасибо
      • 9085
      • 630 Posts
      Эм.. а если запросом к базе???
      Можно, используя функции работы с базой modx (чтобы не "сбивать" статистику запросов к базе)

      http://community.modx-cms.ru/blog/947.html - тут в последнем блоке "КОД" есть участок с подбором по параметрам

      Если возникнут вопросы-непонятности - курить API MODx
      Удачи!

        Правильно заданный вопрос повышает вероятность получения нужного ответа.
        Что-то не работает? Загляните в лог ошибок!
        Есть проблема? "Локализуйте" её!
        Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
        • 1035
        • 81 Posts
        Quote from: widler at Aug 24, 2010, 01:55 AM

        Здравствуйте

        Сейчас встала появилась задача: в MODX Revolution есть достаточно большое количество документов, у некоторых из которых есть TV параметр(чекбокс) в сниппете нужно средствами modx найти все документы у которых этот чекбокс установлен. Посоветуйте пожалуйста как это можно сделать не прибегая к последовательному перебору всех документов. Сам алгоритм ясен, интересна именно сама реализация.

        Спасибо

        Хм.. Опишите пожалуйста задачу в целом - что именно Вы хотите реализовать?
        А если конкретно по Вашему вопросу то я думаю без перебора реализовать не получиться... (причем курить API всеравно придется)

        Может хранить id документов с нужным Вам TVчекбоксом в отдельной таблице или файле и брать их самописным сниппетом в том документе или/и чанке в котором вам нужно - в данном случае перебора документов не будет - скрипт/сниппет будет работать только с нужными документами. smiley
          Чем я занят на данный момент, читайте в этой теме: [EVO] Ресурс-контроллер?
          • 20380
          • 118 Posts
          Элементарно getResource’ом. Там есть фильтры по TV
            • 15034
            • 55 Posts
            Прощу прощения, что вмешиваюсь со своим вопросом...Но надеюсь, что подскажете, все-таки) Тем более, что вопрос практически по сабжу, только проще...

            Какой функцией api нужно воспользоваться в такой ситуации - выбираем все документы с шаблоном №9( а также они должны быть неудаленные), и потом выводим ссылки на эти документы.

            чисто при помощи php это выглядит так (но без генерации ссылок - ах, если я б знала, как это написать, ни в какие б дебри API не полезла бы wink):

            $sql = 'SELECT * FROM `modx_site_content` WHERE `template` =9 AND `deleted` =0 ORDER BY `pagetitle` ASC'; /// это запрос для базы 
            $res=mysql_query($sql); // выполняем запрос
             while ($row=mysql_fetch_array($res)) { //проходим по массиву результатов, и выводим его в виде списка названий отобранных документов
             	echo '<li>'	;			      
                    echo "".$row['pagetitle']."";  
                    echo '</li>';
            


            Пробовала getDocumentChildren - но не получилось. Я в растерянности... Тем более, что понимаю, что все должно быть проще некуда - а вот никак((

            P.S. modx 1.0.4
              Мужчина должен говорить только три слова: люблю, куплю, поедем!
              • 33099
              • 7 Posts
              я конечно не спец в modx, но думаю это вам поможет:
              [~идентификатор~] - создает URL документа с данным идентификатором
                • 1035
                • 81 Posts
                Если Ваш вариант работает, зачем что то менять? smiley
                  Чем я занят на данный момент, читайте в этой теме: [EVO] Ресурс-контроллер?
                  • 7368
                  • 264 Posts
                  $modx->makeUrl(id)
                    • 20380
                    • 118 Posts
                    Народ, девушка хочет использовать API. Это хорошо и правильно, нефиг прямо mySQL использовать!
                    Julliet, используйте getDocuments, там есть параметр $where wink