We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 785
    • 2,113 Posts
    Нередко возникают задачи, в которых невозможно заранее определить количество дополнительных параметров. Например, с веб-страницей может быть связано от 1 до 10 изображений, каждое со своим описанием, или у различных товаров разный список характеристик и так далее. При этом нередко заранее неизвестно, сколько параметров надо будет ввести. Простейший способ – создавать TV с запасом, так, чтобы их заведомо хватило, но при этом работать в административной части системы становится не так удобно, да и эффективность страдает. Использование дополнительных таблиц и разработка дополнительных модулей не позволяет использовать в полной мере стандартные средства.
    Кто-нибудь знает хороший способ работы с переменным количеством параметров?
      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
      Статьи о MODx, регулярно новые публикации
      • 28814 ☆ A M B ☆
      • 1,086 Posts
      Присоединяюсь к вопросу. Лично я такого способа пока не нашел, а было бы очень полезно узнать.
      Предполагаю, что вряд ли возможно это в текущей реализации MODx, поскольку по логике системы TV привязываются к шаблону, а не к каждому документу в отдельности. В принципе такую штуку можно замутить на AJAX’е с помощью плагина, но скорее всего в таком случае потребуется использовать дополнительные таблицы, отчего пострадают возможности API (придется получать данные прямым SQL вызовом).
        Разработка сайтов и программных модулей на MODX.
        Опыт работы на MODx с 2005 года. Высокое качество.
        Компания Baltic Design Colors: http://www.bdcolors.ru.
        • 18633
        • 27 Posts
        Не знаю насколько это удобно, но я в данном случае использую один тв-параметр в необходимом количестве дочерних ресурсов.
          • 22301
          • 1,084 Posts
          1. так как у нас жёсткая иерархическая структура документов, мы никуда не уйдём от создания дополнительных таблиц, чтобы не плодить tv’ари.

          2. доп. таблицы плохи тем, что необходимо создавать доп. модули для их администрирования.

          3. доп. таблицы плохи тем, что нельзя с ними производить манипуляции с помощью стандартных средств.

          ну, так таблицы, и даже взаимосвязанные, надо заводить в той же таблице с документами, только воспринимать их не как документарные ветки, а как tv’арные. для манипуляции придётся писать уже не модули, а сниппеты, используя стандартные api.

          поправлюсь. не tv’арные ветки, а параметрические.
            [img]http://jurist-info.ru/pic/rrr.jpg[/img]

            Безжалостный пияр!
            Artima -- неуч!
            Осторожно: преступная локализация -- modx-cms.ru
            Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

            Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
            • 11255
            • 193 Posts
            можно поковырять шаблон админки и javascript’ом дать возможность добавлять дополнительные тв (и там их параметры, типы), а потом создать плагин и повесить его на бефорсейв или т.п. Он будет доставать все ТВ, смотреть существуют ли они уже в базе и если нет - будет создавать их (в ядре есть походу функции для создания). smiley
              • 785
              • 2,113 Posts
              Quote from: Great-Antique at Feb 01, 2010, 08:46 AM

              смотреть существуют ли они уже в базе и если нет - будет создавать их
              Это не совсем то, что надо. Фактически это динамическое создание максимально возможного количества TV, а надо, чтобы на странице было не максимально возможное количество, а необходимое именно в данном документе.
              В принципе теоретически я могу сказать, что можно плагином реализовать функции добавления и удаления TV, причем при удалении они просто не будут выводиться в данном документе, но как-то объем работы не вдохновляет… Вот если бы где-то уже были наработки… А так проще написать модуль и дополнительную таблицу (или несколько таблиц) и использовать один TV для ссылки на запись этой таблицы.

              Использовать структуру таблиц MODx вряд ли хорошая идея. Если у меня несколько десятков параметров, то потребуется дополнительно несколько десятков документов, не связанных с веб-страницами. Для начала возможны проблемы с некоторыми сниппетами, которые работают со всеми страницами, потом возможны проблемы с тем, что ненужные страницы все равно можно будет просмотреть, и наконец эффективность MODx, которая зависит от количества документов, резко снизится. Так что, на мой взгляд, создание дополнительной таблицы (в действительности нескольких таблиц) – более правильный подход.
                Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                Статьи о MODx, регулярно новые публикации