We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 16545
    • 358 Posts
    Ты хоть, перед тем как спросить поимпровизируй или почитай документацию по Ditto...
    &orderBy или &sortBy для сортировки, для которых можешь использовать не только menutitle, pagetitle и т.д., но и TV.
      • 28814 ☆ A M B ☆
      • 1,086 Posts
      Я не очень понял задумку, что Вы хотите сделать..
      Можно ли сделать так, чтобы в одном из TV появлялись данные в зависимости от другого.
      Т.е. у Вас будут два TV в одном документе и при выборе чего-нибудь в первом изменяются значения во-втором, правильно?
      Если я правильно понял, то я бы решил это созданием дополнительного плагина, который на лету с помощью AJAX получал выбранные значения и в зависимости от них подключал второй TV. Выглядит красиво, работает чрезвычайно удобно, я так делал в одном проекте. Хотя стоит признать, что сделать не так уж просто.

      Пример смотреть здесь: http://suhinin.com/modx/example.gif
      Мне кажется, это стоит того, чтобы постараться wink.
        Разработка сайтов и программных модулей на MODX.
        Опыт работы на MODx с 2005 года. Высокое качество.
        Компания Baltic Design Colors: http://www.bdcolors.ru.
        • 1607
        • 72 Posts
        Ответ для: labasus
        Вы, наверное, невнимательно прочитали начало поста. Дело в том, что надо сортировать не по pagetitle основного вызова, не по TV, в котором содержится id связанного документа, а по pagetitle связанного документа. Т.е. в Ditto надо вывести pagetitle связанного документа, id которого хранится в TV. И по этому pagetitle произвести сортировку. Если у Вас есть опыт экспериментов в этом направлении - поделитесь. Буду крайне благодарен.
          • 1607
          • 72 Posts
          Ответ для Fuzzy:
          Выглядит замечательно!
          Действительно выполняется именно та задача, которая стоит передо мной. Этот плагин у Вас готовый продукт? Т.е. его можно применять в других проектах, или он сугубо специфичен для решения конкретной задачи. И, если не секрет сколько времени потрачено на его создание?
          Суть моей задача до смешного проста. Но нет ясного понимания для полного воплощения в жизнь.
          Имеем папку с продуктами и папку с производителями. Основной запрос в таблицу для вывода данных делается при помощи DITTO. Все делается просто и однозначно. вопрос возникает, когда надо вывести производителя и производить сортировку по производителю.
          Изначально я думал сделать так: в одном TV выбираем производителя, в другом появляется его id. Так и был сформулирован запрос здесь.
          umanuma направил меня по другому пути - с использованием Related. Там удалось сделать: в TV выводится перечень производителей, сохраняется id выбранного производителя. Потом удается в Ditto выводить pagetitle производителя. Но сам Ditto использует id и, соответственно, сортировку можно сделать по id. А очень хочется по pagetitle.
            • 28814 ☆ A M B ☆
            • 1,086 Posts
            Quote from: Andrey_V at Jan 06, 2009, 04:54 AM

            Ответ для Fuzzy:
            Выглядит замечательно!
            Действительно выполняется именно та задача, которая стоит передо мной. Этот плагин у Вас готовый продукт? Т.е. его можно применять в других проектах, или он сугубо специфичен для решения конкретной задачи. И, если не секрет сколько времени потрачено на его создание?
            Нет, это не готовый продукт и вобщем-то специфичен для решения данной задачи.
            Хотя, безусловно, его можно переделать для работы с другими данными. Но это будет довольно непросто.
            Quote from: Andrey_V at Jan 06, 2009, 04:54 AM

            Имеем папку с продуктами и папку с производителями.
            Изначально я думал сделать так: в одном TV выбираем производителя, в другом появляется его id.
            Так Вам надо совсем в другую сторону smiley) Посмотрите кое-что на тему @ BINDINGS smiley

            Создайте ОДИН TV с типом checkbox или listbox (single), а в поле "Input Option Values:" введите SQL запрос, что-то вида:
            @SELECT pagetitle,id FROM modx_site_content WHERE id = 11111 ORDER BY pagetitle

            где 11111 - номер родительского документа с производителями, у Вас он будет другой, конечно.

            В итоге получится список из селекторов, в которых метки будут названиями производителей, а значения - ID производителей.

            И вообще, народ, завязывайте вы с этими диттами... ужас, совсем обленились, пару строчек запрограммировать тяжело smiley
              Разработка сайтов и программных модулей на MODX.
              Опыт работы на MODx с 2005 года. Высокое качество.
              Компания Baltic Design Colors: http://www.bdcolors.ru.
              • 1607
              • 72 Posts
              Начиналось все именно с такого варианта. Но это оказался тупиковый путь. А насчет пары строчек кода - в принципе можно вообще сайт с нуля сделать. Но хочется воспользоваться средствами MODx. Пока удавалось решить все проблемы. Надеюсь, что и эту тоже удастся.
                • 28814 ☆ A M B ☆
                • 1,086 Posts
                Quote from: Andrey_V at Jan 06, 2009, 06:01 AM

                Начиналось все именно с такого варианта. Но это оказался тупиковый путь.
                А что не устроило?
                Quote from: Andrey_V at Jan 06, 2009, 06:01 AM

                А насчет пары строчек кода - в принципе можно вообще сайт с нуля сделать. Но хочется воспользоваться средствами MODx. Пока удавалось решить все проблемы. Надеюсь, что и эту тоже удастся.
                Ну тут, конечно, стоит обдумать, сколько займет времени решение сделать стандартными средствами, а сколько - сделать с нуля.
                Чаще всего по моему опыту второй путь занимал меньше времени.
                  Разработка сайтов и программных модулей на MODX.
                  Опыт работы на MODx с 2005 года. Высокое качество.
                  Компания Baltic Design Colors: http://www.bdcolors.ru.
                  • 31022
                  • 328 Posts
                  И вообще, народ, завязывайте вы с этими диттами... ужас, совсем обленились, пару строчек запрограммировать тяжело

                  Как вы правильно заметили в соседней теме, это если есть соответствующие умения. А если нету -- приходится работать со штатным набором. Есть еще вариант: найти знающего человека и с ним работать. Но для этого тоже опыт нужен (:
                    • 1607
                    • 72 Posts
                    Ответ Fuzzy
                    Суть проблемы: в одном TV можно сохранить только один параметр: или pagetitle, или id.
                    Работать надо с id. Визуально везде должно отражаться pagetitle.
                    При использовании Ditto нужно сделать сортировку по pagetitle СВЯЗАННОГО ДОКУМЕНТА. Значит в параметрах Ditto нужно как-то указать pagetitle документа с текущим id.
                    Стараюсь делать средствами MODx, т.к. на мой взгляд это очень удачная платформа. Любая платформа имеет тенденцию совершенствоваться и изменяться. То, что будет сделано средствами платформы будет легче модернизировать. Т.е. в общем плане будет выше производительность труда сопровождающих сотрудников, значит им можно будет платить увеличенную зарплату с соответствующим повышением квалификационных требований. Такими сотрудниками будет проще руководить.
                    При проверке исполнения разных задач начального уровня на нескольких системах CMS практически во всех случаях MODx вне конкуренции.
                    Если сравнить с работой с нуля - все же лучше создавать изделия на базе более высокого иерархического уровня. Коллективный разум создателей и почитателей любой системы позволяет создать более безопасную, надежную и т.д. систему.
                    В принципе можно, например, написать и собственную бухгалтерскую программу, но кто это сейчас делает? А в 1991 году я написал бухгалтерскую программу, на которой работало и наше предприятие и целый ряд других в течение нескольких лет. И другие мои поступали аналогично. Однако примерно в 1995 году стало целесообразнее использовать продукты специализированных фирм, т.к. поддержка своего продукта оказалась непропорционально затратной.
                    Такая же ситуация сейчас на рынке сайтоделания. В конце девяностых сайт целиком удавалось сделать используя notepad. Сейчас вряд ли найдутся желающие совершать такие подвиги. Это закон развития, который вряд ли кому удастся изменить. Хотел бы я посмотреть кого-нибудь, кто бы сейчас попробовал сделать сайт, используя ассемблер.
                    На сегодня MODx - система с самыми перспективными идеями. Значит надо эти идеи осваивать. Что я и пытаюсь делать. Ну и понятен метод - общение с единомышленниками. Естественно, путь от незнания к знаниям имеет некую протяженность. Основная часть проделывается самостоятельно, но иногда приходится обращаться за помощью. Редко когда есть готовое решение, чаще направляют в нужную сторону.
                    Ваш пример, просмотренный по ссылке - отличный посыл для дальнейших размышлений. И поскольку задача работы со связанными документами слишком частый случай - буду пробовать воссоздать Вашу конструкцию (или ее подобие).
                    Создание сайтов в CMS - особенно первого - конечно может быть длительнее, чем делать с нуля. Но это познание системы. А когда система освоена - в дальнейшем все будет гораздо быстрее!
                    Большое спасибо за Ваши советы и особенно за ссылочку с примером.
                      • 1607
                      • 72 Posts
                      Ответ umanuma
                      У меня дома есть хороший набор металлообрабатывающих станков. Но запчасти для машины я все-таки покупаю. И Вы понимаете, что даже штатный набор невозможно использовать без знания и практики программирования.
                      Найти знающего человека - это ведь полдела. Потому что когда человек считает себя очень знающим, у него появляется неудобная черта. Он начинает требовать четко поставленной задачи (ТЗ). И только потом начинает воплощать заданное в жизнь. И выражать недовольство, когда заказчик просит внести изменения. А заказчик это всегда человек, который осознает стоящую перед ним задачу только в процессе ее выполнения. И тогда старается вносить изменения в ТЗ. И вызывать недовольство опытного человека. И в данном случае прав заказчик. потому что пока известен только один путь познания - метод проб и ошибок.
                      Относительно умения. С моей точки зрения неэтично делать намеки относительно умений человека, которого не знаешь. Ведь неумение сделать одну конкретную операцию не означает полное отсутствие знаний, навыков, умений. Чаще всего это означает, что человек проходит тот путь, который Вы прошли ранее. Вот Вы мне сделали подсказку про RELATED - помогло - большое Вам спасибо. Но это одновременно означает, что теперь я могу дать такой же совет другому. В этом и сила коллективного разума. Для этого и существуют форумы.
                      Я на такие мелкие уколы не обижаюсь. Но хотелось бы, чтобы Ваши умения сочеталось с самым главным - уважением всех - независимо от уровня умения, пола, возраста, образования и т.д. Если Вы будете этично общаться и стараться при этом соблюдать чувство собственного достоинства Вашего визави - это сделает Вас еще более ценным человеком - и на форуме и в жизни.
                      Еще раз спасибо Вам за Вашу помощь.
                      И если можете - подскажите, пожалуйста, решали ли Вы описанную проблему, если да, то удалось ли это сделать и как.