Нико, ваш компонент в супер-лёгкой версии, собранный на коленке с помощью этого компонента, будет выглядеть примерно так
Установка стандартная. Версия лишь для ознакомления с движком.
Да именно но я уже сделал😊По другому то но то что вы сделали я именно так хотел но я сделал не самому выбирать, а игрок сам должен войти в на турнир как докончу покажу) Только я рукой пишу, а не через компонент, но некоторые вещи не знаю как сделать ((
Нико, ваш компонент в супер-лёгкой версии, собранный на коленке с помощью этого компонента, будет выглядеть примерно так
Установка стандартная. Версия лишь для ознакомления с движком.
И как там можно сделать что если этого пользователя выбрали, что бы больше не могли выбрать? И на player_1 я ссылку вывожу но nicname не могу
У меня создать команду может админ (по наводке) или любой игрок. Первый игрок автоматом прописывается в капитаны. Затем в выбранном турнире есть кнопка "Принять участие в турнире". По которой, если это админ, он может прикрепить любую команду из существующих, если это капитан, то только те команды, где он капитан. Соответственно если он капитан одной команды, то сразу автоматом присоединится его команда. Так же и убрать команду из турнира может только админ или капитан команды. Парень с улицы, может только создать команду, причём даже капитаном команды может выбрать не себя а другого.а игрок сам должен войти в на турнир как докончу покажу)
Я уже писал где-то, в одной из ваших тем на форуме или в личке, как отфильтровать пользователей по определённому полю. Вот и примените это при получении списка пользователей.И как там можно сделать что если этого пользователя выбрали, что бы больше не могли выбрать ?
У меня создать команду может админ (по наводке) или любой игрок. Первый игрок автоматом прописывается в капитаны. Затем в выбранном турнире есть кнопка "Принять участие в турнире". По которой, если это админ, он может прикрепить любую команду из существующих, если это капитан, то только те команды, где он капитан. Соответственно если он капитан одной команды, то сразу автоматом присоединится его команда. Так же и убрать команду из турнира может только админ или капитан команды. Парень с улицы, может только создать команду, причём даже капитаном команды может выбрать не себя а другого.а игрок сам должен войти в на турнир как докончу покажу)
Я уже писал где-то, в одной из ваших тем на форуме или в личке, как отфильтровать пользователей по определённому полю. Вот и примените это при получении списка пользователей.И как там можно сделать что если этого пользователя выбрали, что бы больше не могли выбрать ?
Да спасибо я уже создал почти компонент как мне надо но теперь у меня к этому осталось 2 вопроса,
— Вот я вывожу игрока по ID но nicname не могу вывести
<a class="user" href="<?php echo href_to('users', $tournament['player_2']); ?>">Игрок<?php echo $tournament['user_nickname']; ?></a>
вот так выводит
<a class="user" href="<?php echo href_to('users', $team['user_id']); ?>"><?php echo $team['user_nickname']; ?></a>
.tpl
<?php $this->setPageTitle($tournament['tournament_name']); $this->addBreadcrumb(LANG_PHOTOBATTLE_CONTROLLER, $this->href_to('')); $this->addBreadcrumb($tournament['tournament_name']); if ($tournament['status'] == tournament::STATUS_PENDING){ if (!$is_user_in_tournament || cmsUser::isAdmin()){ 'class' => 'user_add', 'title' => LANG_PHOTOBATTLE_JOIN, 'href' => $this->href_to('join', $tournament['id']) )); } } $is_buttons = cmsUser::isAllowed('tournament', 'edit', 'all') || ( cmsUser::isAllowed('tournament', 'edit', 'own') && $tournament['user_id']==cmsUser::getInstance()->id ); if ($is_buttons){ 'class' => 'edit', 'title' => LANG_PHOTOBATTLE_EDIT, 'href' => $this->href_to('edit', $tournament['id']) )); 'class' => 'delete', 'title' => LANG_PHOTOBATTLE_DELETE, 'href' => $this->href_to('delete', $tournament['id']) )); } 0 => LANG_PHOTOBATTLE_STATUS_PENDING, 1 => LANG_PHOTOBATTLE_STATUS_MODERATION, 2 => LANG_PHOTOBATTLE_STATUS_OPENED, 3 => LANG_PHOTOBATTLE_STATUS_CLOSED, ); ?> <h1><?php html($tournament['tournament_name']); ?></h1> <div class="photobattle-status"> <strong><?php echo LANG_PHOTOBATTLE_STATUS; ?>:</strong> <?php echo $statuses_text[ $tournament['status'] ]; ?> </div> <a class="user" href="<?php echo href_to('users', $tournament['player_2']); ?>">Игрок<?php echo $tournament['user_nickname']; ?></a> <?php if ($tournament['teams']) { ?> <div class="photobattle-images"> <ul> <?php foreach($tournament['teams'] as $team) { ?> <li> <a href="<?php echo $this->href_to('team', $team['id']); ?>" class="title"><?php html($team['team_name']); ?></a> <div class="details"> <a class="user" href="<?php echo href_to('users', $team['user_id']); ?>"><?php echo $team['user_nickname']; ?></a> <a class="delete" title="<?php echo LANG_PHOTOBATTLE_PHOTO_DELETE; ?>" href="<?php echo $this->href_to('delete_team', $team['id']); ?>">X</a> <?php if ($tournament['status'] == tournament::STATUS_CLOSED) { ?> <?php } ?> </div> </li> <?php } ?> </ul> </div> <?php } ?>
<?php class actionTournamentEvent extends cmsAction { public function run($id = false){ if (!$id) { cmsCore::error404(); } $tournament = $this->model->getTournament($id); if (!$tournament) { cmsCore::error404(); } $template = cmsTemplate::getInstance(); $user = cmsUser::getInstance(); 'tournament' => $tournament, 'is_user_in_tournament' => $this->model->isUserInTournament($user->id, $id) )); } }
<?php class modelTournament extends cmsModel { public function addTournament($tournament){ return $this->insert('tournaments', $tournament); } public function updateTournament($id, $tournament){ return $this->update('tournaments', $id, $tournament); } public function deleteTournament($id){ return $this->delete('tournaments', $id); } public function getTournament($id){ $tournament = $this->getItemById('tournaments', $id); $this->filterEqual('tournament_id', $id); $this->select('u.nickname', 'user_nickname'); $tournament['teams'] = $this->get('team'); return $tournament; } public function getTournaments(){ return $this->get('tournaments'); } public function getTournamentsCount(){ return $this->getCount('tournaments'); } public function addTeam($team){ $team_id = $this->insert('team', $team); $this->filterEqual('id', $team['tournament_id']); $this->increment('tournaments','users_count'); return $team_id;
Для этого надо в файле экшена получить данные выводимого пользователя и передать их в шаблон как и остальные параметры.
$user = cmsUser::getInstance(); это что? не так разве?
это получаются параметры текущего (кто сейчас авторизован на сайте) пользователя, и для каждого пользователя содержимое этих данных постоянное. Чтобы получить список пользователей привязанных к этому турниру надо сделать такой запрос$user = cmsUser::getInstance();
$users = cmsCore::getModel('users')->filterEqual('тут поле из таблицы пользователей с номером турнира', $tournament_id)->getUsers();