Sazanof
Я понял) Спасибо
Sasha
Привет всем, подскажите как в prepare подсчитать сумму в столбце через doclister? Не могу сделать прибавлене в цикле, берет только последнее значение столбца
Sasha
Volodymyr
Скрин вашего prepare
Sasha
$totalk+=$data['kcal']; $data['totalk']=$totalk; $modx->setPlaceholder('totalk',$totalk); return $data;
Dmytro
а почему оно так должно работать ? 🙂
Dmytro
препаре по строкам работает жеж
Sasha
$data['totalk'] ничего в-общем, не выводит, выводится только через setpPlaceholder тоже
Dmytro
ну так оно перезаписывается каждый раз )
Dmytro
тоесть работает как положено 🙂
Sasha
А как-то суперглобальную переменную можно сделать для этого добра? Оно и понятно
Sasha
Так-то понятно, что так и должно работать :)
Dmytro
вернее сессия не айс ибо не закешируешь
Sasha
или в плейсхолдер невидимый писать?
Dmytro
$modx->setPlaceholder('totalk',$totalk);
Sasha
кеширование тут вообще не роляет
Dmytro
вот у тебя всегда set
Dmytro
а нужно сначала делать гет
Dmytro
тоесть $totalk = getPlaceholder в начале )
Dmytro
$totalk = $modx->getPlaceholder('totalk'); $totalk+=$data['kcal']; $data['totalk']=$totalk; $modx->setPlaceholder('totalk',$totalk);
Dmytro
типа такого
Alexey
Может глупость скажу: а не проще js-кой потом подсчитать?)
Dmytro
проще )
Sasha
кеширование не критично то есть, потому что там не надо, всё равно страница генерится из списка поданного ранее
Sasha
проще :)
Alexey
важно сделать через DL&)))
Sasha
но мне надо сохранить потом голый html
Dmytro
$totalk = $modx->getPlaceholder('totalk'); $totalk+=$data['kcal']; $data['totalk']=$totalk; $modx->setPlaceholder('totalk',$totalk);
ну вот так пробуй может только еще дописать проверку на есть ли плейсхолжер а так должно работать
Dmytro
ибо у тебя таким образом плейсхолдер и будет глобальным )
Sasha
Через getPlaceholder норм, спасибо, но таблиц несколько, идут одна за другой :) теперь суммируется всё. Потому что таблиц может быть несколько. Переименую плейсхолдер автоматически
Dmytro
ну так $modx->getPlaceholder('totalk'.$tableid);
Dmytro
делаешь разные плейсхолдеры для таблиц )
Sasha
да да
Bilbo Baggins
элементарная таблица же. если лень возиться с запросами к БД вручную - вызывай DocLister с api=>1 и формируй вывод как угодно.
Bilbo Baggins
вообще моё ИМХО - лайфхаки это хорошо, но всё же стараюсь использовать вещи (функции, методы и т.д.) по назначению
Bilbo Baggins
в данном случае все эти getPlaceholder и setPlaceholder - финт ушами, не более
Alexey
Я ща в коде посмотрел ху из set/get - placeholders, это по-сути метод который заносит и возвращает публиченную переменную при отработке парсера = глобальная переменная на время выполнения скрипта
Alexey
Так что почему нет?
Bilbo Baggins
насколько я понял - на странице несколько таблиц. И человек тянет несколько DocLister И переменные, соответственно должны быть разные для каждой таблицы
Aliaksandr
setStore/getStore есть
Sasha
элементарная таблица же. если лень возиться с запросами к БД вручную - вызывай DocLister с api=>1 и формируй вывод как угодно.
doclister в-общем тут только, чтобы вручную запросы не писать. Это не публичная часть сайта, так что плейсхолдеров мне хватит
Bilbo Baggins
Alexey
set/getStore - что это?
Alexey
Нашел, читаю
Aliaksandr
Там читать особо нечего, сохраняет и отдает переменную внутри prepare:)
Alexey
ну читаю код в смысле)
Alexey
Меня же тут заставили изучить DL вдоль и поперек, наверняка еще экамен устроят))
Aliaksandr
Кто посмел:)
Aliaksandr
В доках есть хороший пример как на этом можно сэкономить много запросов в определенных случаях
Alexey
Да я по именам не знаю... Некто Dmi3yy, r64j ... Второй вот в особенности))
Aliaksandr
Для ленивых можно и плейсхолдерами не морочиться, $modx->a='a'; тоже работает;)
Aliaksandr
Интересно, если проверить сейчас вывод каких нибудь новостей с одним тв картинкой постранично без всяких фильтров, то не уделает ли дитто по скорости доклистер:)
Aliaksandr
Никто не проверял?
Andrey
Как в Client Settings указать нужный конфиг для multiTV ?
Михаил
Как в Client Settings указать нужный конфиг для multiTV ?
Вот пример - https://github.com/mnoskov/clientsettings/blob/master/assets/modules/clientsettings/config/tab20.php.sample
Aliaksandr
Вспоминается эпичная схватка wayfinder vs dlbuildmenu )
Andrey
Вот пример - https://github.com/mnoskov/clientsettings/blob/master/assets/modules/clientsettings/config/tab20.php.sample
'multidemo' => [ 'caption' => 'Multi TV', 'type' => 'custom_tv:multitv', ], получается дефолтная мультиТВ, а мне надо свой конфиг
Andrey
Замените multidemo на имя своего tv-параметра
спасибо, сработало. Точнее не на имя ТВ, а на имя конфига получается
Раньше Здесь Был Мат_
Подскажите по безопасности плиз. Если я вот такое [!$_GET['show']!] в параметры доклистера пихать буду (например в &display или &orderBy) это плохо?
Volodymyr
подключил http://modx.im/blog/fast-solution/2807.html#comment24637 для last modify если в конце плагина поставить die то заголовок есть если отдать страницу заголовку не будет
Volodymyr
на пустой странице отработало )) будем искать
Раньше Здесь Был Мат_
Ищи по плагинам на том же событии
Andrey
1.4.1 уже боевая версия? Живой сайтик стоит обновлять, или на тестовом развлекаться?
Dmytro
Да вот зарелизил утром
Andrey
Особо радует фикс сессий. А то заказчик душу вынул уже.
Pathologic
а меня вот не радует
Pathologic
пропала вся интрига с этим фиксом
Andrey
?
Pathologic
год а то и больше не могли исправить
Dmytro
больше
Dmitriy
сталкивался кто-нибудь с ошибкой evogallery на 1.3.6. ? jquery.uploadify.v2.1.4.min.js:26 document.getElementById(...).startFileUpload is not a function в экстраз нет, не обновить одним кликом
Dmytro
flash в браузере включен ? 🙂
Dmitriy
при клике на "загрузить файлы"
Dmytro
ну логично если нет флеша то будет ошибка
Dmitriy
новый глюк. файлы выбираются, но по клику "загрузить файлы" нрчего не происходит. "очистить очередь" работает