TemKa_SD 9 09/06/18 13:19 Так, убрал ESSET, убрал куки ошибка - Undefined index: RunningGames_botid всё правильно. Т.е нужно сделать как-то isset(\IPS\Request::i()->cookie['RunningGames_botid']) AND здесь код, выводимый id ботов НЕ ИЗ КУКОВ ?????????????????????????????? Поделиться сообщением Ссылка на сообщение
newbie 1723 09/06/18 13:24 (isset(\IPS\Request::i()->cookie['RunningGames_botid']) AND \IPS\Request::i()->cookie['RunningGames_botid']) ? \IPS\Request::i()->cookie['RunningGames_botid'] : '' Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/06/18 13:36 (изменено) Супер, огромной спасибо. Осталось пофиксить галочки и всё )))) Они почему-то заболели. На счет JS понял, нужно убрать за setInterval(function() { Изменено 6 сентября 2018 пользователем TemKa_SD Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/06/18 19:25 Всё же правильно, почему тупит? <input type="checkbox" role="checkbox" name="botid[]" value="{$id}" {{if in_array($id, explode(',', isset(\IPS\Request::i()->cookie['RunningGames_botid']))) || !isset(\IPS\Request::i()->cookie['RunningGames_botid'])}}checked{{endif}}> Поделиться сообщением Ссылка на сообщение
newbie 1723 09/07/18 05:01 {{if in_array($id, explode(',', isset(\IPS\Request::i()->cookie['RunningGames_botid'])))Опять Вы не правильно интерпретируете isset.Если кука установлена, то код выглядит как {{if in_array($id, explode(',', true)) Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/07/18 06:25 <input type="checkbox" role="checkbox" name="botid[]" value="{$id}" {{if isset(\IPS\Request::i()->cookie['RunningGames_botid']) AND \IPS\Request::i()->cookie['RunningGames_botid'] == in_array($id, explode(',', \IPS\Request::i()->cookie['RunningGames_botid']))}}checked{{endif}}> Поделиться сообщением Ссылка на сообщение
newbie 1723 09/07/18 06:29 <input type="checkbox" role="checkbox" name="botid[]" value="{$id}" {{if isset(\IPS\Request::i()->cookie['RunningGames_botid']) AND in_array($id, explode(',', \IPS\Request::i()->cookie['RunningGames_botid']))}}checked{{endif}}> Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/07/18 06:31 Да, я тоже об этом подумал, а вы уже написали. Как вывести дебаг информацию в шаблоне? {{print_r $per}} Поделиться сообщением Ссылка на сообщение
newbie 1723 09/07/18 06:33 Как вывести дебаг информацию в шаблоне?Пишите валидный php-код в двойных фигурных скобках Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/07/18 06:34 (изменено) 2222 Изменено 7 сентября 2018 пользователем TemKa_SD Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/07/18 07:12 Блин, тут то что не так? Правильно же всё вроде. http://prntscr.com/krlcnk $(document).ready(function() { var gamenames = document.querySelectorAll('.copy'); var table = document.querySelector('#gamelistTable'); var names = new Clipboard(gamenames); var botid_list = ''; var date = new Date(); date.setTime(date.getTime() + (365 * 86400000)); setInterval(function() { var updateUrl = table.getAttribute('data-update-url'); var val = document.querySelector('input[name="only_lobby"]').checked; updateUrl += '&only_lobby=' + val; $('input:checkbox[name="botid[]"]:checked').each(function(){ botid_list += $(this).val() + ','; }); /*console.log(botid_list);*/ updateUrl += '&botid_list=' + botid_list; if(document.querySelector('input[name="only_eu"]')) { var euval = document.querySelector('input[name="only_eu"]').checked; var usval = document.querySelector('input[name="only_us"]').checked; updateUrl += '&only_eu=' + euval + '&only_us=' + usval; } console.log(updateUrl); ips.getAjax()(updateUrl).done(function (data) { table.querySelector('tbody').innerHTML = data; gamenames = document.querySelectorAll('.copy'); names.destroy(); names = new Clipboard(gamenames); }); }, 5000); $('#only_lobby').change(function() { if(this.checked) { var date = new Date(); date.setTime(date.getTime() + (365 * 86400000)); ips.utils.cookie.set('RunningGames_only_lobby', true, date.toUTCString()); } else { ips.utils.cookie.unset('RunningGames_only_lobby'); } }); $('input:checkbox[name="botid[]"]').change(function() { if(this.checked) { ips.utils.cookie.set('RunningGames_botid', botid_list += $(this).val() + ',', date.toUTCString()); } }); }); Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/08/18 03:51 Изменил дизайн фильтра, прикольно получилось ))) Скажите пожалуйста по вопросу выше, я так и не разобрался почему он так записывает в куки. Еще пару вопросов, сильно сложно реализовать статистику по играм и игрокам с условием по фильтру ( которая в самом низу фильтра )? Она работает, но только при ручно обновлении, выбирает по чекбоксам, на аяксе нет. И еще вопрос, реально вывести какой нить тамймер в том же месте для следующего обновления? Чтобы люди просто видели. Поделиться сообщением Ссылка на сообщение
newbie 1723 09/08/18 08:09 Опять огород нагородили.В setInterval нужно только делать запрос, получать данные и обновлять таблицу. Вы туда все пытаетесь всунуть. я так и не разобрался почему он так записывает в куки.Потому что переменную объявили за пределами setIntervalПростой примерvar counter = 0; setInterval(function() { counter += 1; }, 5000);Каждые 5 секунд значение будет увеличиваться на единицу. Так и у Вас значения прибавляются к старым.1,21,2,1,21,2,1,2,1,2Юзер выбрал 7, в результате в куку записалось значение 1,2,1,2,1,2,7 сильно сложно реализовать статистику по играм и игрокам с условием по фильтру ( которая в самом низу фильтра )Возвращайте json и обновляйте данные\IPS\Output::i()->json(array('table' => $table, 'games' => $games, 'players' => $players)); И еще вопрос, реально вывести какой нить тамймер в том же месте для следующего обновления? Какой таймер? Обновление каждые 5 секунд? Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/08/18 08:17 Какой таймер? Обновление каждые 5 секунд?угу Поделиться сообщением Ссылка на сообщение