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

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

#26390 darka 19 мар 2013, 20:39
можно ли применить какие фильтры в модуле?
http://mottie.github.com/tablesorter/do . ustom.html
http://mottie.github.com/tablesorter/do . ilter.html
http://mottie.github.com/tablesorter/do . theme.html

и тяжело ли это в реализации? Если нет, то может кто-нибудь сделать хоть для одного любого таба такое.? Плиз :)
#26404 shw 20 мар 2013, 06:37
darka писал(а):сам пробую http://deiloo.p.ht/main.php#tabs-5 (hiddenfilter) :)

Что-то я там ничего не увидел.
Что бы включить стандартный фильтр по полям на большинстве таблиц идем в js/msfc.shared.js
и меняем
Код: Выделить всё    widgets : ['uitheme', 'zebra'],

на
Код: Выделить всё    widgets : ['uitheme', 'zebra', 'filter'],
#26410 darka 20 мар 2013, 07:38
не увидели, потому что фильтр спрятан и появляется только наведя мышкой над 1 линейкой данных.
#26411 shw 20 мар 2013, 07:50
darka писал(а):не увидели, потому что фильтр спрятан и появляется только наведя мышкой над 1 линейкой данных.

Ты суслика видишь? нет? а он есть :lol:
#26412 darka 20 мар 2013, 08:00
блин ток этот фильтр меняет ширину столбиков(раздулись). можно это изменить? :)

widthFixed: true не помогает
#27493 witold.shkvirko 02 апр 2013, 14:31
darka писал(а):можно ли применить какие фильтры в модуле?
http://mottie.github.com/tablesorter/do . ustom.html
http://mottie.github.com/tablesorter/do . ilter.html
http://mottie.github.com/tablesorter/do . theme.html

и тяжело ли это в реализации? Если нет, то может кто-нибудь сделать хоть для одного любого таба такое.? Плиз :)



Умельцы распишите как делать такие фильтры!
#27562 darka 03 апр 2013, 07:51
witold.shkvirko писал(а):
darka писал(а):можно ли применить какие фильтры в модуле?
http://mottie.github.com/tablesorter/do . ustom.html
http://mottie.github.com/tablesorter/do . ilter.html
http://mottie.github.com/tablesorter/do . theme.html

и тяжело ли это в реализации? Если нет, то может кто-нибудь сделать хоть для одного любого таба такое.? Плиз :)



Умельцы распишите как делать такие фильтры!


не умелец, но как это сделал я:

в themes/style.css добавил:

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



в views/header.php меняем(

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



tabs/roster.php

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



не заморачиваясь пастнул из своего тест-полигона http://deiloo.p.ht (вкладки "состав" и 'посещаемость'), надеюсь поймете :)

P.S. фильтр криво встает во вкладках с "индексами/табами", решения этой проблемы не нашел :(
#28284 viktor6 11 апр 2013, 17:45
Exinaus писал(а):Недавно меня попросили прикрутить к модулю статистики отображение по ротам в клане. Набросал, на коленке небольшой код, вроде работает. С косяками, но работает.
Но хочу предупредить, ники игроков и номера роты надо будет писать самостоятельно, в отдельном файле. Но может еще кому нибудь пригодится.
В общем, по пунктам.

1) Зайти в директорию function и создать там файл user.php

2) Открыть main.php

Найти код:
Код: Выделить всё    //MYSQL
    include_once(ROOT_DIR.'/function/mysql.php');
    //Connecting to MySQL

Сразу после этой строки добавить:
Код: Выделить всё    if(file_exists(ROOT_DIR.'/function/user.php')){
        include_once(ROOT_DIR.'/function/user.php');
   }

3) В папке css открыть style.css и в конец файла добавить:
Код: Выделить всё.rota {
background-image: url(./images/r.jpg);
color: white;
width: 17px;
height: 21px;
padding-top: 1px;
margin: 0px;
font-size: 8pt;
font-weight: bold;
font-family:arial;
}


4) Скачать http://m9co.16mb.com/images/r.jpg и записать в папку images своего модуля.

5) Открываем созданный user.php. В самое начало файла вставляем код:
Код: Выделить всё<?php
function show_rota($name,$rota) {
$result = 0;
foreach($rota as $lvl => $squad) {
if(in_array($name,$squad)) { $result = $lvl; }
}
return $result;
}
?>


6) Дальше начинаем добавлять информацию о том кто к какой роте принадлежит. В том же файле user.php опять в самое начало, обязательно выше того что вы вставили в предыдущем пункте, вставляем:
Код: Выделить всё<?
$rota = array ();

$rota['1'][] = 'Exinaus';
$rota['3'][] = 'Uninstalllol';
$rota['5'][] = 'Pois0n';
$rota['5'][] = 'Wertt';
?>


Тут я вставил кусок кода, который использовал для примера у себя, но я думаю остальным будет проще понять и редактировать, чем мне объяснять с нуля.
Итак, принадлежность к роте одного мембера записывается одной строкой: $rota['1'][] = 'Exinaus'; соотв. 1 - номер роты в клане, ну а второе ник пользователя. Вторая пустая скобка должна оставаться пустой, всегда, так надо.
$rota = array (); должно быть обязательно, не зависимо от того есть ли записи ниже или нет.

7) Начинаем добавлять отображение рот на вкладках. Я покажу для примера только на одной - "Общие результаты", для остальных необходимо добавлять по аналогии. И еще, для вкладки Состав описанное ниже не сработает, там все устроено немного по другому.

Итак, "Общие результаты" находится в файле overall.php в папке tabs, открываем и ищем код:
Код: Выделить всё    <table id="overall" class="tablesorter wid" cellspacing="1">             
        <thead> // ключевая строка для поиска
            <tr>
                //<--- Место вставки
                <th><?php echo $lang['name']; ?></th>

В указанное место вставляем:
Код: Выделить всё                <th>&nbsp;</th>


Находим дальше
Код: Выделить всё        <tbody> // ключевое слово для поиска
            <?php foreach($res as $name => $val){ ?>
                <tr>
                     // место вставки   
                    <td><a href="<?php echo $config['base'].$name.'/'; ?>"
                            target="_blank"><?php echo $name; ?></a></td>
                    <?php foreach($val['overall'] as $result){ ?>

В указанное место вставляем:
Код: Выделить всё         <td align="center" style="padding: 0px !important;">
         <?php $squad = show_rota($name,$rota); if($squad) { ?><div class="rota"><? echo $squad; ?></div><?php } ?>
         </td>

8) Возвращаем сортировку по никам:
смотрим в начало файла, там есть строки типа: <table id="overall" class="tablesorter wid" cellspacing="1">, вот самое важное что написано в id="", в данном случае там overall.
Открываем файл header.php находим там фразу: #overall (в начале обычно добавляется решетка).
Должно найти строку:
Код: Выделить всё            $("#overall").tablesorter({sortList:[[0,0]], widgets: ['zebra']});

Вот в 0,0 первое число увеличиваем на 1, получится:
Код: Выделить всё            $("#overall").tablesorter({sortList:[[1,0]], widgets: ['zebra']});

У меня нечего не получилось :(
что на старой версии что на новой
http://test.plusnet.ks.ua/MSFC-master/main.php#tabs-40
http://test.plusnet.ks.ua/MSFC-master1/main.php#tabs-40
#28554 darka 17 апр 2013, 08:42
shw писал(а):
diesel2001 писал(а):Как лучше это реализовать?

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

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

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


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

вот как-то примерно так. Дизайн + структура данных. Осталось лишь накодить.


кто-нибудь реализовал это? :) слюнки текут.
меня даже обрадовал бы вариант и по проще, без "командира роты" и "комбобокса с ротами"(в мультиклане слишком много рот для этого).

Я вижу этот таб таким:
таблица из 3 столбцов (ID, Ник, Рота), где название роты вписываем вручную (или чекбокс с индексами рот(как в "админ/наличие техники")) + кнопка "отправить"

P.S. может у многоуважаемых модераторов есть желание и время на такую хотелку? :)

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

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

Реклама | Adv