Loadырь

Loadырь

Быть лучшим - не значит быть достаточно хорошим.
+1247
Репутация
4894
Рейтинг
#1 Вылезла непонятная ошибка. Прошу помощи 9 июня 2016 в 09:15

Возможно ранее другой компонент на этом же хуке когда отработал не вернул обратно данные

Val
Скорее всего так и есть.
#2 Вылезла непонятная ошибка. Прошу помощи 9 июня 2016 в 06:18
Val, надо смотреть, что передаётся в хук
  1. cmsEventsManager::hook("content_after_delete", array(что тут прописано));
и почему не определена эта переменная, возможно она удалилась раньше, чем сработал этот хук.
#3 [ЕСТЬ РЕШЕНИЕ] Пустые места вместо пунктов таблице 8 июня 2016 в 17:17

пункт фотография почему-то в другом месте

Андрей
Это нормально. В дефолте так и есть по коду. Просто фотка вынесена отдельно из цикла перебора полей. У даты и автора нет возможности указать положение заголовков. Это тоже нормально. Всё у вас нормально. laughНо можно конечно и шаблоно переделать.
#4 [ЕСТЬ РЕШЕНИЕ] Пустые места вместо пунктов таблице 8 июня 2016 в 16:18
А у вас в "Положение заголовков" как показывать установлено?
#5 [ЕСТЬ РЕШЕНИЕ] Как запретить пользователю вступать еще раз ? 8 июня 2016 в 14:18

HTTP ERROR 500

Нико
А логи что говорят?
#6 [ЕСТЬ РЕШЕНИЕ] Как запретить пользователю вступать еще раз ? 8 июня 2016 в 14:02

у меня остался последний штрих

Нико
Вы так считаете?
вот ваш последний штрих
  1. <?php
  2.  
  3. class actionTournamentDeleteTeam extends cmsAction {
  4.  
  5. public function run($team_id=false){
  6.  
  7. if (!$team_id) { cmsCore::error404(); }
  8.  
  9. $team = $this->model->getTeam($team_id);
  10.  
  11. $this->model->filterEqual('tournament_id', $team['tournament_id']);
  12.  
  13. $users = $this->model->get('users');
  14.  
  15. foreach ($users as $user_id => $user){
  16.  
  17. $this->model->update('users', $user_id, array('tournament_id' => null));
  18.  
  19. }
  20.  
  21. $this->model->deleteTeam($team_id);
  22.  
  23. $this->redirectToAction('event', array($team['tournament_id']));
  24.  
  25. }
  26.  
  27. }
#7 [ЕСТЬ РЕШЕНИЕ] Как запретить пользователю вступать еще раз ? 8 июня 2016 в 11:32

Не удаляет ((

Нико
В таком исполнении
  1. public function run($team_id=false){
  2.  
  3. if (!$team_id) { cmsCore::error404(); }
  4.  
  5. $this->model->update('users', $user_id, array('tournament_id' => null));
  6.  
  7. $team = $this->model->getTeam($team_id);
  8.  
  9. $this->model->deleteTeam($team_id);
  10.  
  11. $this->redirectToAction('event', array($team['tournament_id']));
  12.  
  13. }
и не будет. У вас $user_id не определена. Вам надо сначала её получить. А точнее получить список всех пользователей из этой команды и в цикле всем по очереди удалить.
#8 Вылезла непонятная ошибка. Прошу помощи 8 июня 2016 в 08:30
Проблему ищите тут /system/controllers/polls/hooks/content_after_delete.php строка 9.
#9 Желающие в складчину для более или менее универсального парсера для 2.5.х+ 8 июня 2016 в 08:27

поэтому вам на слово никто не поверит.

eoleg
Ну почему же, свою публику всегда находят, осталось дождаться результата.
Datiks, Если вам реально нужен этот парсер "для себя", то вы его всё равно будете писать. Да возможно не будете оформлять в коробочную версию с инсталятором, но результат его работы уже можно будет "потрогать/посмотреть". Так вот с него (результата) и начните своё обращение к публике, по сбору средств на "нечто интересное". Если вы действительно хотите

Такой объем работы не хочется просто так, хочется и заработать на этом

Datiks
то вам же лучше будет, ведь пользователи смогут реально оценить, что за вашу работу можно и больше отдать.
Хотя, если задача, реально стоит нажиться на дураках "доверчивых", то действительно, зачем "париться".
#10 [ЕСТЬ РЕШЕНИЕ] Как запретить пользователю вступать еще раз ? 8 июня 2016 в 07:19

users не удаляет что делать ?

Нико
В actionTournamentDeleteTeam надо сперва получить всех участников команды, каждому сделать очистку поля таким образом
  1. $this->model->update('users', $user_id, array('tournament_id' => null));
а затем удалить саму команду.
#11 [ЕСТЬ РЕШЕНИЕ] Как запретить пользователю вступать еще раз ? 7 июня 2016 в 21:00
ivanish, тут про другие группы речь идёт. Тут обсуждают действия группы (команды) баскетболистов на турнире. Это отдельный компонент и к компоненту "Группы" он никак не относится.
#12 [ЕСТЬ РЕШЕНИЕ] Как запретить пользователю вступать еще раз ? 7 июня 2016 в 18:52
В файле join.php в 48 cтроке пропишите
  1. $this->model->update('users', $user->id, array('tournament_id' => $tournament_id));
#13 [ЕСТЬ РЕШЕНИЕ] Как запретить пользователю вступать еще раз ? 7 июня 2016 в 17:18

Посмотрите

Нико
Эту кнопку лучше не выводить для пользователя, которому нажимать её не надо.
#14 [ЕСТЬ РЕШЕНИЕ] Как запретить пользователю вступать еще раз ? 7 июня 2016 в 17:10
А у вас какой экшн отвечает за добавление в турнир, в нём и пропишите.

Вообще я вам предлагал начать с ТЗ для этого компонента. Я не имел ввиду, что вы сразу начнёте искать исполнителя по этому ТЗ. Я предлагал это для того, чтобы вы сами проговорили для себя порядок действий, от этого вы бы представляли себе полную картину, что и как делать. Как оформить БД, какие действия нужны для каждого объекта пользователь-команда-турнир.
Фотобитвы которые r2 оформил в виде видеоурока, вам подходят лишь для начала. Там рассматривается лишь одна связка двух объектов: пользователь-битва. А у вас три объекта и это только начало. В вашем варианте это создание команды и сбор игроков в ней. А дальше надо аналогично делать для создания турниров и добавления команд в турнир.

А у вас не понять, чего действительно вам надо. То пользователь сам может вступить в турнир минуя команду, то капитан команды вступает в турнир и собирает из свободных пользователей команду тут же в турнире, то капитан создаёт команду и потом каким-то образом любой пользователь попадает в турнир. Вы опишите что вы хотите сделать, тогда и желающих помочь прибавится. И желающие идей подкинуть тоже появятся.

Ещё желательно создать одну нормальную тему на форуме, дабы не повторять все картинки и код в разных ветках. Так желающим помочь легче будет вам помогать не ползая по всем веткам. И сама ветка будет неким пособием для создания компонента для новичков.
#15 [ЕСТЬ РЕШЕНИЕ] Как запретить пользователю вступать еще раз ? 7 июня 2016 в 16:44
Помимо этого при вступлении в группу оно должно заполняться номером группы. По этому полю можно потом фильтровать пользователей при выводе списков свободных игроков. Также можно по этому полю выводить инфу в какой он команде и в каком турнире сейчас "парится".
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.