Как вывести сумму значений полей migx
        Всем салют!
Как вывести сумму значений полей migx?
Например есть поле [[+num]] в migx. Как вывести в чанке сумму всех его значений?
[[+num:add=`[[+num]]`]] не работает
    
    
                                                                                
            Как вывести сумму значений полей migx?
Например есть поле [[+num]] в migx. Как вывести в чанке сумму всех его значений?
[[+num:add=`[[+num]]`]] не работает
Комментарии: 10
                В сниппете `getImageList`есть два недокументированных поля `sumFields` и `sumPrefix`, попробуйте их использовать примерно так:
Обновлю-ка документацию.
                    [[getImageList? 
&tvname=`your_tv`
&sumFields=`num`
&sumPrefix=`prefix_`
&limit=`4`
]]результат будет в плейсхолдере [[+prefix_num]]Обновлю-ка документацию.
                Спасибо.
А как сложить два различных поля migx. Например, [[+num]] и [[+num2]]
И существует ли возможность других математических действий (вычитание, умножение, деление)?
                    А как сложить два различных поля migx. Например, [[+num]] и [[+num2]]
И существует ли возможность других математических действий (вычитание, умножение, деление)?
                migx это json строка, хранящаяся в базе данных.
как правило, migx используют если нужно чтобы в одном TV хранилось не примитивное значение, а набор данных.
{
«name»: «Alexander»,
«age»: 48
}
Как вы понимаете нельзя сложить, вычесть или умножить двух меня)
Математические действия можно производить только над примитивами (числа, строки и так далее).
Уже поэтому ваш вопрос не совсем корректен.
Возможно у вас в migx среди прочих данных есть и числа и вы хотите сложить их. Тогда советую вам почитать ilyaut.ru/xpdo/ о том, как в сниппете можно получить TV поле. вардапните его, посмотрите что в нем лежит и как храниться. Примените функции json_decode и переведите в массив. Проведите математические операции с элементами массива. Переведите назад в json и сохраните в TV.
                    как правило, migx используют если нужно чтобы в одном TV хранилось не примитивное значение, а набор данных.
{
«name»: «Alexander»,
«age»: 48
}
Как вы понимаете нельзя сложить, вычесть или умножить двух меня)
Математические действия можно производить только над примитивами (числа, строки и так далее).
Уже поэтому ваш вопрос не совсем корректен.
Возможно у вас в migx среди прочих данных есть и числа и вы хотите сложить их. Тогда советую вам почитать ilyaut.ru/xpdo/ о том, как в сниппете можно получить TV поле. вардапните его, посмотрите что в нем лежит и как храниться. Примените функции json_decode и переведите в массив. Проведите математические операции с элементами массива. Переведите назад в json и сохраните в TV.
                Нашел решение, оказывается можно
forums.modx.com/thread/88146/migx---how-to-sum-values-from-migx-field-into-a-placeholder-tv#dis-post-485238
Для сложения — нужно создать сниппет с названием, например, summerize
                    forums.modx.com/thread/88146/migx---how-to-sum-values-from-migx-field-into-a-placeholder-tv#dis-post-485238
Для сложения — нужно создать сниппет с названием, например, summerize
<?php
$values = explode(',',$modx->getOption('values',$scriptProperties,''));
$sum = 0;
foreach ($values as $value){
    $sum += $value;
}
return $sum;затем вывод в чанке[[summarize? &values=`[[+num]],[[+num2]]`]]            
                это сниппет для сложения чисел, никакого отношения к migx он не имеет, но если это решило вашу проблему то и хорошо.            
                    
                Решило. Сниппет сложил между собой два migx поля, нужно было именно это.            
                    
                Каким образом у вас в [[+num]] оказалось число?
Вы наверное не написали о том, что вызываете этот самописный сниппет уже внутри getImageList? В тексте вашего вопроса об этом ни слова, а поверьте, далеко не все пользуются getImageList для работы с migx, вот я вас и не понял.
                    Вы наверное не написали о том, что вызываете этот самописный сниппет уже внутри getImageList? В тексте вашего вопроса об этом ни слова, а поверьте, далеко не все пользуются getImageList для работы с migx, вот я вас и не понял.
                да, он выводится внутри getImageList. Первый ответ в этой ветке как раз о getImageList. На него я и задавал вопрос.            
                    
                Супер! Вот именно это и нужно! Спасибо!            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.