Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 62 Ответов
  • 13525 Просмотров
*

Se2008

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Техническое поражение
« : 09.03.2009, 22:03:08 »
Собственно вопрос...

Как можно добавить результат типа (+/-) и (-/-)?
:) Очень интересный вопрос на мой взгляд
*

Se2008

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Re: Техническое поражение
« Ответ #1 : 11.03.2009, 19:37:27 »
Неужели нет решения по данному вопросу??  >:(
*

deeZ

  • Захожу иногда
  • 464
  • 33 / 0
Re: Техническое поражение
« Ответ #2 : 12.03.2009, 08:49:44 »
А как данный результат учитывать при начислении очков? В футболе, как правило техпоражение 3-0.
*

Se2008

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Re: Техническое поражение
« Ответ #3 : 12.03.2009, 16:49:02 »
Допускается (и во многих федерациях используется. Напр. использовалось во всех лигах Украины до недавнего времени) +/-  - тех. победа/поражение без учета забитых голов. Победившей команде +3 очка.  -/- - поражение обеим командам.

П.С. Даже не знаю где поковырять
*

deeZ

  • Захожу иногда
  • 464
  • 33 / 0
Re: Техническое поражение
« Ответ #4 : 12.03.2009, 17:06:12 »
Ковырять много... Начать с joomleague.php и joomleague.html.php - там выяснить через какую форму резалты заносятся. + добавить условие типа "если + первый, то +3 хозяину, если -, то смотри второе значение" - как-то так ;)
*

Se2008

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Re: Техническое поражение
« Ответ #5 : 13.03.2009, 20:04:17 »
2 deeZ: спасибо.

Покопался немного... Тяжело в чужом коде. Но уж больно компонент хорош.

Может кто сможет/поможет хоть частично решить проблему, за умеренную плату?
Реально горит  :o
*

deeZ

  • Захожу иногда
  • 464
  • 33 / 0
Re: Техническое поражение
« Ответ #6 : 14.03.2009, 17:25:13 »
я в выходные поковыряюсь, если что смогу, отпишусь здесь
*

Se2008

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Re: Техническое поражение
« Ответ #7 : 17.03.2009, 19:59:01 »
2 deeZ: не смотрел?
*

deeZ

  • Захожу иногда
  • 464
  • 33 / 0
Re: Техническое поражение
« Ответ #8 : 18.03.2009, 13:17:28 »
2 deeZ: не смотрел?
Смотрел...но не разобрался пока. Надо как-то включить возможность добавления не цифр. Это где-то в ява скриптах. Не понял пока где
*

Dynamik

  • Захожу иногда
  • 130
  • 7 / 0
  • Пива бы!
Re: Техническое поражение
« Ответ #9 : 18.03.2009, 16:14:34 »
Ребята я в том году как то делал т/п не правя код. На сколько я понял нужно чтобы отражался счет типа 3-0 т/п и очки засчитывались, а голы не считались в турнирной таблице?
*

Se2008

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Re: Техническое поражение
« Ответ #10 : 18.03.2009, 16:52:07 »
Типа того. Результат должен быть как +/- (типа 3:0) или -/- :)
Как то давно делали самописный скрипт. Там попросту делали подмену счету 1:0 (в базу так писалось), а на выводе на самом сайте было +/- или -/-
*

Dynamik

  • Захожу иногда
  • 130
  • 7 / 0
  • Пива бы!
Re: Техническое поражение
« Ответ #11 : 19.03.2009, 10:31:39 »
Да щас глянул в том году я чего то намудрил в попыхах с т/п.
*

Se2008

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Re: Техническое поражение
« Ответ #12 : 04.04.2009, 19:54:24 »
"Не цифры" можно добавлять если поменять тип поля в БД. На как заставить "читать" это скрипт даже не знаю
*

Turban

  • Захожу иногда
  • 115
  • 1 / 2
Re: Техническое поражение
« Ответ #13 : 24.04.2009, 00:35:43 »
У меня такая же проблема,не знаю  как делать
*

dimonji

  • Новичок
  • 9
  • 3 / 0
Re: Техническое поражение
« Ответ #14 : 15.06.2009, 22:43:35 »
Привет всем копателям joomleague! Насчет технических результатов решил следующим способом:
1. В базе данных находим таблицу jos_joomleague_matches, меняем типы полей matchpart1_result и matchpart2_result с значения float на значение varchar(2) ( самый действенный способ менять через phpMyAdmin ).
2. Открываем файл
Код
/administrator/components/com_joomleague/classes/Ranking.class.php
, находим в нем функцию
Код
function collectPoints(& $data, $mode, $match, $shownegpoints) {
и заменяем следующим кодом
Код
function collectPoints(& $data, $mode, $match, $shownegpoints) {  
    $homeId = $match->matchpart1;
    $awayId = $match->matchpart2;
    $decision = $match->decision;
    if ($decision == 0) {
       $home_score=$match->home_score;
       $away_score=$match->away_score;
       $leg1=$match->l1;
       $leg2=$match->l2;
      }
      else {
       $home_score=$match->home_score_decision;
       $away_score=$match->away_score_decision;
       $leg1=$match->l1;
       $leg2=$match->l2;
  }
  if ($mode == 0 || $mode == 1) $home = & $data[$homeId];
  else {
    $home = new stdClass(); //in that case, $data wont be affected
    $this->init_stdclass($home); //and now they are also initialized in php4
    }
    if ($mode == 0 || $mode == 2) $away = & $data[$awayId];
    else {
      $away = new stdClass(); //in that case, $data wont be affected
      $this->init_stdclass($away); //and now they are also initialized in php4
    }
  if (!isset($data[$homeId]->headtohead[$awayId])) {
      $home->headtohead[$awayId]=0;
      $home->headtohead_diff[$awayId]=0;
      $home->headtohead_goal_for[$awayId]=0;
      $home->headtohead_awaygoals[$awayId]=0;
    }
    if (!isset($data[$awayId]->headtohead[$homeId])) {
      $away->headtohead[$homeId]=0;
      $away->headtohead_diff[$homeId]=0;
      $away->headtohead_goal_for[$homeId]=0;
      $away->headtohead_awaygoals[$homeId]=0;
    }
    $home->cnt_matches++;
    $away->cnt_matches++;   
    $resultType = ($this->project->allow_add_time) ? $match->match_result_type : 0;   
    switch($resultType){
      case 1: $arr = explode(",",$this->project->points_after_add_time);break;
      case 2: $arr = explode(",",$this->project->points_after_penalty);break;
      default: $arr = explode(",",$this->project->points_after_regular_time);break;
    }
    $win_points = $arr[0];
    $draw_points = $arr[1];
    $loss_points = $arr[2];
    if ($decision!=1 || ( $decision==1 && (isset($home_score) || isset($away_score)))) {
if ( $home_score == "+" or $home_score == "-" or $away_score == "+" or $away_score == "-") {
if( $home_score == "+" and $away_score == "-" ){
$home->cnt_won++;
        $home->cnt_won_home++;
        $home->sum_points += $win_points; //home_score can't be null...
        $away->cnt_lost++;
        $away->sum_points += ( $decision == 0 || isset($away_score) ? $loss_points : 0);
    if ( $shownegpoints==1) {
    $home->neg_points += $loss_points;
    $away->neg_points += ( $decision == 0 || isset($away_score) ? $win_points : 0);
    }
    $home->headtohead[$awayId]++;
    $away->headtohead[$homeId]--;
      }
else if ( $home_score == "-" and $away_score == "-" ){
$home->cnt_lost++;
$home->cnt_lost_home++;
$home->sum_points += ( $decision == 0 || isset($home_score) ? $loss_points : 0);
$away->cnt_lost++;
        $away->sum_points += ( $decision == 0 || isset($away_score) ? $loss_points : 0);
if ($shownegpoints==1) {
$home->neg_points += ( $decision == 0 || isset($home_score) ? $win_points : 0);
$away->neg_points += ( $decision == 0 || isset($away_score) ? $win_points : 0);
}
$away->headtohead[$homeId]--;
$home->headtohead[$awayId]--;
}
else if ( $home_score == "-" and $away_score == "+"){
$home->cnt_lost++;
    $home->cnt_lost_home++;
    $home->sum_points += ( $decision == 0 || isset($home_score) ? $loss_points : 0);
    $away->cnt_won++;
    $away->sum_points += $win_points;
        if ( $shownegpoints==1) {
          $home->neg_points += ( $decision == 0 || isset($home_score) ? $win_points : 0);
          $away->neg_points += $loss_points;
        }
    $home->headtohead[$awayId]--;
    $away->headtohead[$homeId]++;
}
} else {
if( $home_score > $away_score ){
$home->cnt_won++;
        $home->cnt_won_home++;
        $home->sum_points += $win_points; //home_score can't be null...
        $away->cnt_lost++;
        $away->sum_points += ( $decision == 0 || isset($away_score) ? $loss_points : 0);
      if ( $shownegpoints==1) {
        $home->neg_points += $loss_points;
        $away->neg_points += ( $decision == 0 || isset($away_score) ? $win_points : 0);
      }
    $home->headtohead[$awayId]++;
    $away->headtohead[$homeId]--;
      }
else if ( $home_score == $away_score ){
      $home->cnt_draw++;
      $home->cnt_draw_home++;
      $home->sum_points += ( $decision == 0 || isset($home_score) ? $draw_points : 0);
      $away->cnt_draw++;
      $away->sum_points += ( $decision == 0 || isset($away_score) ? $draw_points : 0);
      if ($shownegpoints==1) {
        $home->neg_points += ( $decision == 0 || isset($home_score) ? $draw_points : 0);
        $away->neg_points += ( $decision == 0 || isset($away_score) ? $draw_points : 0);
      }
    }
else if ( $home_score < $away_score){
$home->cnt_lost++;
    $home->cnt_lost_home++;
    $home->sum_points += ( $decision == 0 || isset($home_score) ? $loss_points : 0);
    $away->cnt_won++;
    $away->sum_points += $win_points;
        if ( $shownegpoints==1) {
          $home->neg_points += ( $decision == 0 || isset($home_score) ? $win_points : 0);
          $away->neg_points += $loss_points;
        }
    $home->headtohead[$awayId]--;
    $away->headtohead[$homeId]++;
}
}
    /* bonus points */
    $home->sum_points += $match->home_bonus;
    $home->bonus_points += $match->home_bonus;
    $away->sum_points += $match->away_bonus;
    $away->bonus_points += $match->away_bonus;
    /* goals for/against/diff */
      $home->sum_matchpart1_result += $home_score;
      $home->sum_matchpart2_result += $away_score;   
      $home->diff_matchpart_results= $home->sum_matchpart1_result - $home->sum_matchpart2_result;
      $home->sum_matchpart1_legs += $leg1;
      $home->sum_matchpart2_legs += $leg2;   
      $home->diff_matchpart_legs= $home->sum_matchpart1_legs - $home->sum_matchpart2_legs;
      $away->sum_matchpart1_result += $away_score;
      $away->sum_matchpart2_result += $home_score;   
      $away->diff_matchpart_results= $away->sum_matchpart1_result - $away->sum_matchpart2_result;
      $away->sum_matchpart1_legs += $leg2;
      $away->sum_matchpart2_legs += $leg1;   
      $away->diff_matchpart_legs= $away->sum_matchpart1_legs - $away->sum_matchpart2_legs;
      /* head to head goal diff */
      $home->headtohead_diff[$awayId]+=($home_score-$away_score);
      $away->headtohead_diff[$homeId]-=($home_score-$away_score);
      /*head to head goals for/away goals*/
      $home->headtohead_goal_for[$awayId]+=$home_score;
      $away->headtohead_goal_for[$homeId]+=$away_score;
      $away->headtohead_awaygoals[$homeId]+=$away_score;     
    }
    else { //none of the 2 teams gets any points
      if ($shownegpoints==1) {
        $home->neg_points += $loss_points;
        $away->neg_points += $loss_points;
      }
      $home->cnt_lost++;
      $away->cnt_lost++;
    }
  }
Принимаются следующие значения:
 - +/- Техническая победа/Техническийпроигрыш;
 - -/+ Технический проигрыш/Техническая победа;
 - -/- Технический проигрыш/Технический проигрыш;
Работоспособность способа тестировалась на русской сборке с сайта http://rusliga.bgme.net/index.php?option=com_frontpage&Itemid=1. Очки насчитываются как за стандартную победу в матче.
« Последнее редактирование: 15.06.2009, 22:49:09 от dimonji »
*

foxynn

  • Осваиваюсь на форуме
  • 45
  • 4 / 0
Re: Техническое поражение
« Ответ #15 : 15.06.2009, 23:56:11 »
Посмотри, как оно с varchar(2) обработает матч, закончившися со счетом 10:8
Мне почему-то кажется, что с ошибкой.  !!!???!!!
*

dimonji

  • Новичок
  • 9
  • 3 / 0
Re: Техническое поражение
« Ответ #16 : 16.06.2009, 00:50:21 »
Посмотри, как оно с varchar(2) обработает матч, закончившися со счетом 10:8
Мне почему-то кажется, что с ошибкой.  !!!???!!!

varchar(2) насколько я понимаю указывает тип данных максимальным размером в два символа и самое главное если мало символов то можно поставить и 3 и 10. Так что выбор так сказать за вами. И кстати поле 10:8 формируется из двух переменных.
« Последнее редактирование: 16.06.2009, 01:12:17 от dimonji »
*

foxynn

  • Осваиваюсь на форуме
  • 45
  • 4 / 0
Re: Техническое поражение
« Ответ #17 : 16.06.2009, 10:15:02 »
нет, ты меня не понял. Поставь одной команде 10 голов, а второй 8, и посмотри, кому у тебя будет отдана победа.
*

Se2008

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Re: Техническое поражение
« Ответ #18 : 16.06.2009, 23:06:24 »
все правильно считает
*

Dynamik

  • Захожу иногда
  • 130
  • 7 / 0
  • Пива бы!
Re: Техническое поражение
« Ответ #19 : 10.08.2009, 22:35:59 »
arse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in Z:\home\joostina_1.2\www\administrator\components\com_joomleague\classes\Ranking.class.php on line 432

Ошибку выдает, что делать7

Хех функцию не всю заменил
« Последнее редактирование: 10.08.2009, 22:48:26 от Dynamik »
*

veNick

  • Захожу иногда
  • 63
  • 0 / 0
Re: Техническое поражение
« Ответ #20 : 17.02.2010, 09:51:47 »
спасибо, сработало :)
« Последнее редактирование: 17.02.2010, 09:59:50 от veNick »
*

Misty

  • Новичок
  • 5
  • 0 / 0
Re: Техническое поражение
« Ответ #21 : 19.10.2010, 15:45:32 »
кто знает как решить данную проблему в BearLeague?
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Техническое поражение
« Ответ #22 : 19.10.2010, 17:54:55 »
в для 1.5 тоже так надо сделать всё?
*

makhmudov.timur

  • Захожу иногда
  • 341
  • 20 / 0
  • Alshanskiy
Re: Техническое поражение
« Ответ #23 : 20.10.2010, 09:54:23 »
в для 1.5 тоже так надо сделать всё?
а зачем техническое поражение ?
сделайте 3-0 и всё
*

Dynamik

  • Захожу иногда
  • 130
  • 7 / 0
  • Пива бы!
Re: Техническое поражение
« Ответ #24 : 20.10.2010, 10:24:53 »
А голы на кого записывать? ))
*

makhmudov.timur

  • Захожу иногда
  • 341
  • 20 / 0
  • Alshanskiy
Re: Техническое поражение
« Ответ #25 : 20.10.2010, 10:58:44 »
А голы на кого записывать? ))
ни на кого!
Я бы наверное сделал какое нибудь событие типо ТП
сделал бы иконку
открыл бы матч, сделал в матче только это событие и написал бы в примечание (ТехПор)
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Техническое поражение
« Ответ #26 : 23.10.2010, 18:53:23 »
ни на кого!
Я бы наверное сделал какое нибудь событие типо ТП
сделал бы иконку
открыл бы матч, сделал в матче только это событие и написал бы в примечание (ТехПор)
так эти 3 лишних мяча смогут повлиять на турнирную таблицу
*

Se2008

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Re: Техническое поражение
« Ответ #27 : 24.10.2010, 10:59:05 »
уже ведь писали об этом :)) во многих регламентах есть такое понятие как тех. поражения типа +/- и -/- и тут 0-3 и всякими ухищрениями не отделаешься :)
*

makhmudov.timur

  • Захожу иногда
  • 341
  • 20 / 0
  • Alshanskiy
Re: Техническое поражение
« Ответ #28 : 25.10.2010, 09:01:27 »
так эти 3 лишних мяча смогут повлиять на турнирную таблицу
f что при техническом поражении голы не добавляются ?
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Техническое поражение
« Ответ #29 : 31.10.2010, 00:06:50 »
f что при техническом поражении голы не добавляются ?
нет...и это я тебе говорю как играющий человек и как футбольный арбитр =))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как засчитать обеим командам техническое поражение 0-3?

Автор BoBaN

Ответов: 6
Просмотров: 2689
Последний ответ 16.10.2009, 15:33:48
от BoBaN