Вопросы, советы, возможные модификации и вообще все про модуль статистики кланов

Модератор: Exinaus, shw

#26106 diesel2001 13 мар 2013, 19:34
shw писал(а):по трудоемкости - моя оценка "4" по шкале от 1 до 10.

Не плохо. Не плохо если в этом шаришь.
Как лучше это реализовать?
В "админке" создам новую закладку "new tab".
Создам форму.
Представление следующие, выпадающее меню на 3 роты (Рота 1, Рота 2, Рота 3). Далее текстовое поле где можно выбрать имя командира роты (выбирается из состава клана ну или выпадающий список сформированный на основании званий), кнопка добавить, кнопка исключить.
Ниже таблица с именами участников клана, на против каждого участника чекбокс.

Как работает.
Заходим в "админку" выбираем нужный "таб".
Выбираем номер роты "Рота 1", выбираем "командира роты", отмечаем чекбоксами игроков принадлежащих "роте 1" нажимаем кнопку добавить.
Выбираем номер роты "Рота 2", выбираем "командира роты",в таблице участников уже не должно быть тех кого добавил к "роте 1" отмечаем чекбоксами игроков принадлежащих "роте 2" нажимаем кнопку добавить.
Если не одна рота не выбрана отображаем весь список клана с пометками кто к какой роте принадлежит. При выборе "рота 1" отображаем только ее участников + те кто не принадлежит не к одной из рот.

Не совсем понимаю как получить список участников клана (неужели нужно парсить из jsona). Ведь список клана содержится в БД "msfc_col_players".
Помогите осознать.
#26108 shw 13 мар 2013, 19:50
diesel2001 писал(а):Как лучше это реализовать?

Помогите осознать.

Начнем с простого.
1)Выдираем список клана из кэша.

 Читать дальше


2) данные о принадлежности танкиста к определенной роте надо где-то хранить. Вариантов 2 - либо в кэше (отдельной папочкой), либо создавать для этого таблицу.
3) продумываем формат данных. в связи с новой фишкой о смене ника делаем привязку по id аккаунта вместо никнейма.
т.е. если представить это в виде таблицы - то у нас столбцами будут ID, название роты, тэг, определяющий является ли данный танкист командиром роты. а строками - собственно танкисты.
4) делаем таб в админке. условно разделим его на 2 части:
слева список всех игроков, которых нет в таблице(кэше), либо которые есть, но у них не указана рота.
Справа комбобокс с жестко заданными названиями рот, под которым список игроков в роте. Меняешь комбобокс - грузится список из таблицы.
Можно добавить чекбокс справа от списка роты, при нажатии на который делает командиром выбранного игрока из списка.
и две кнопки со стрелочками - слева направо и справа налево.
и внизу кнопка сохранить.

вот как-то примерно так. Дизайн + структура данных. Осталось лишь накодить.
#26181 darka 15 мар 2013, 09:25
есть идеи по ротному функционалу:

1) возможность отображения в таблицах только игроков выбранной роты (фильтр по ротам). Например: В верху таба (или чтобы применялось на все табы) такая строчка: "Показывать информацию по: combobox("Всему клану"; "Роте1"; "Роте2")". Наиболее актуально для табов: "Активность", "Наличие танков", "Блок. техника".

2) подсчет игроков по ротам в табе "состав". Например: в низу таблицы: "Рота1": хх "бойцов" <br> "Рота2": xy "бойцов".

Это просто идеи и фантазии безрукого.
#26321 diesel2001 18 мар 2013, 14:37
Помогите пожалуйста shw или кто разбирается.
Вы дали код который обрабатывает файл кешь.
Код: Выделить всё   include_once(ROOT_DIR.'/function/cache.php');
    $cache = new Cache(ROOT_DIR.'/cache/');
      $new = $cache->get('get_last_roster_'.$config['clan'],0);
        if($new === FALSE or empty($new)) { die('No cahced data'); }

Тут я так понимаю мы ищем пути к файлам?
Код: Выделить всё error_reporting(E_ALL & ~E_STRICT);
    ini_set("display_errors", 1);
    if (file_exists(dirname(__FILE__).'/function/mysql.php')) {
        define('ROOT_DIR', dirname(__FILE__));
    }else{
        define('ROOT_DIR', '.');   
    }

Не совсем понимаю где мы объявляем $config?
И почему get_last_roster_, а не get_last_roster (они должны отличаться)?
#26322 Exinaus 18 мар 2013, 14:48
Вы дали код который обрабатывает файл кешь.

Правильно будет кэш. С мягким знаком правильнее кэшью, орешки такие ...
Тут я так понимаю мы ищем пути к файлам?

Не ищем, а устанавливаем.
Не совсем понимаю где мы объявляем $config?

function/config.php
И почему get_last_roster_, а не get_last_roster (они должны отличаться)?

get_last_roster это всего лишь идентификатор, под которым сохраняется список клана. К этому идентификатору добавляется айди клана, дабы он был уникальным. И при использовании в модуле больше одного клана список одного не затирал другой.
#26323 diesel2001 18 мар 2013, 15:00
Блин тяжко (незнание тьма) =)
как правильнее поступить.
сначала задавать ручками параметры (то есть тот же id клана)?
Хочу для начала в принципе посмотреть, что и в каком виде выводится.

Или сразу лучше все приписывание как у Вас и смотреть как это будет выводится при создании страниц?

И еще массивы которые получил в $new через foreach прогонять(могут быть подводные камни)?
#26324 Exinaus 18 мар 2013, 15:12
смотря чего вы хотите добиться. Тяжело давать советы не зная целей.
Если вам необходим пример, посмотрите тему с интеграцией phpBB, там есть файлы основная задача которых - получение информации из кэша. Можно делать по подобию.
#26326 diesel2001 18 мар 2013, 15:23
Ну хочется реализовать Таб, о которо[цензура]говаривали выше.
Вывод списка клана с подписью роты в табе "состав" и с возможностью сортировки списков в админке.
Не уверен, что знаний моих хватит. Хоть и имею некое представление.
Но как говориться попробовать то можно =)))

Сейча[цензура]зав имя клана в ручную получил, массив в переменной $new, если не указывать в ручную ругается на $config (то что ему присвоено в config.php).
Скорее всего, надо еще, что-то подключать, так как id клана дергается из базы (но пока не понял, что именно).

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 37

Реклама | Adv