Как занести в таблицу id страницы

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#16 2 июня 2016 в 16:46


Поставим вопрос по другому. У вас тут tournament/add что добавляется игрок в команду или команда в турнир или турнир в список турниров?

Loadырь

Команда в турнир. Пользователь создает команду и все данные идут в базу сms_streetball, но данные из какого турнира эти данные ввелись не идет. В cms_streetball есть столбец tournament_id вот и туда хочу чтобы записывалось id турнира откуда прошли регистрацию. Вот тут есть www.3x3azerbaijan.com/tournament/event/6 уже но это я сам вписал рукой в базу что 6 им обоим. У меня две базы сms_streetball и сms_tournaments
#17 2 июня 2016 в 16:57
так я вам уже ответил — вам надо, чтобы ссылка на добавление команды в турнир была такого вида /tournament/add/5
хоть в шаблоне пропишите так
  1. <a href="/tournament/add/5">Добавить</a>
Нажав на которою вы попадёте на ваш класс
  1. class actionTournamentAdd extends cmsAction {
  2.  
  3. public function run($tournament_id = false){
  4. ....
в котором уже будет получена $tournament_id если она прописана в
  1. public function run($tournament_id = false){
#18 2 июня 2016 в 17:16


так я вам уже ответил — вам надо, чтобы ссылка на добавление команды в турнир была такого вида /tournament/add/5
хоть в шаблоне пропишите так

  1. Добавить
Нажав на которою вы попадёте на ваш класс
  1. class actionTournamentAdd extends cmsAction {
  2.  
  3. public function run($tournament_id = false){
  4. ....
в котором уже будет получена $tournament_id если она прописана в
  1. public function run($tournament_id = false){

Loadырь

Я ведь не турнир добавляю турнир мне не надо добавлять

Вот видео запись снял посмотрите youtu.be/49jm-q_KVUg
#19 2 июня 2016 в 17:35
Вы ссылку сделали в том виде что я пытаюсь до вас донести? класс экшена поправили как я вам показал? На странице tournament/event/5 на ссылку нажали? Форму заполнили?

Я ведь не турнир добавляю турнир мне не надо добавлять

Нико
Тогда вам нужен другой экшн

то создайте другой экшн на добавление группы в турнир типа /tournament/add_items.

Loadырь
#20 2 июня 2016 в 17:39


Вы ссылку сделали в том виде что я пытаюсь до вас донести? класс экшена поправили как я вам показал? На странице tournament/event/5 на ссылку нажали? Форму заполнили?

Я ведь не турнир добавляю турнир мне не надо добавлять

Нико
Тогда вам нужен другой экшн

то создайте другой экшн на добавление группы в турнир типа /tournament/add_items.

Loadырь

Loadырь

Я уже запутался (( вот файлы пожалуйста если не сложно подправьте ((

3x3azerbaijan.com/tournament.zip
#21 2 июня 2016 в 18:07

Я уже запутался (( вот файлы пожалуйста если не сложно подправьте ((

Нико
То есть сделать всё за вас? Чтобы вы так и не узнали в чём причина? Нет уж, давайте распутываться.

Составляем ТЗ:
Есть список турниров, урл — tournaments. Для добавления турнира используем урл — tournaments/tournaments_add
В турнире, урл — tournaments/(id турнира) — список команд. Для добавления команды в турнир используем урл — tournaments/items_add/(id турнира).
В команде, урл — tournaments/items/(id команды) список игроков. Для добавления игрока в команду используем урл — tournaments/players_add/(id команды).
В игроке, урл — tournaments/players/(id игрока) — информация об игроке (рост, вес количество забитых/пропущенных и тд).

Такое ТЗ или у вас другое представление о работе компонента?
#22 2 июня 2016 в 23:00


Я уже запутался (( вот файлы пожалуйста если не сложно подправьте ((

Нико
То есть сделать всё за вас? Чтобы вы так и не узнали в чём причина? Нет уж, давайте распутываться.

Составляем ТЗ:
Есть список турниров, урл — tournaments. Для добавления турнира используем урл — tournaments/tournaments_add
В турнире, урл — tournaments/(id турнира) — список команд. Для добавления команды в турнир используем урл — tournaments/items_add/(id турнира).
В команде, урл — tournaments/items/(id команды) список игроков. Для добавления игрока в команду используем урл — tournaments/players_add/(id команды).
В игроке, урл — tournaments/players/(id игрока) — информация об игроке (рост, вес количество забитых/пропущенных и тд).

Такое ТЗ или у вас другое представление о работе компонента?

Loadырь
Нет за меня не надо сделать я бы сразу понял бы что поэтому мы кажется не понимаем, вернее я не понимаю потому что слаб в этом поэтому прошу помощи
Для добавления турнира используем урл — tournaments/tournaments_add — этого нету

В турнире, урл — tournaments/event/(id турнира) — список команд.

Для добавления команды в турнир используем урл — tournaments/add/. тут и команду добавляешь и игрока все вместе

В команде, урл — tournaments/teams/(id команды) список игроков и название команды.

Для добавления игрока в команду используем урл — tournaments/players_add/(id команды). такого нету

В игроке, урл — tournaments/players/(id игрока) — информация об игроке (рост, вес количество забитых/пропущенных и тд). — такого нету все хранится в команде, урл — tournaments/teams/(id команды) список игроков. тут и можно редактировать команду.
#23 2 июня 2016 в 23:37

Для добавления турнира используем урл — tournaments/tournaments_add — этого нету

Нико
Да, нет потому, что вы забиваете все турниры "ручками в БД".

В турнире, урл — tournaments/event/(id турнира) — список команд.

Нико
Допустим, хотя event в урле это ближе к событиям турнира, а не к списку команд участников.

Для добавления команды в турнир используем урл — tournaments/add/. тут и команду добавляешь и игрока все вместе

Нико
Вот тут у вас и начинаются проблемы. Вы, грубо говоря, заходите на страницу с турниром, нажимаете ссылку tournaments/add/ "Добавить команду" и заполняете форму.
Но в двойке есть такое понятие как структура url страницы, расписана в этой
теме.

Каждый адрес страницы состоит из нескольких сегментов:
/controller — Название компонента.
/action — Название действия. Каждый компонент может иметь несколько действий внутри себя.
/p1/p2/p3/… — Любое количество параметров, необходимых для этого действия.

у вас получается что вы вызываете контроллер tournaments, в нём запрашиваете совершить действие add, но никаких параметров ему не передаёте.
Поэтому я и предлагаю вам сделать ссылку типа tournaments/add/(id турнира), которая и передаст этот параметр (id турнира). Сама ссылка, где-то в файлах шаблона формируется в конструкции
  1. $this->addToolButton(array(
  2. 'class' => 'add',
  3. 'title' => 'Добавить команду',
  4. 'href' => $this->href_to('add', $tournament_id)
  5. ));
#24 2 июня 2016 в 23:44


Для добавления турнира используем урл — tournaments/tournaments_add — этого нету

Нико
Да, нет потому, что вы забиваете все турниры "ручками в БД".

В турнире, урл — tournaments/event/(id турнира) — список команд.

Нико
Допустим, хотя event в урле это ближе к событиям турнира, а не к списку команд участников.

Для добавления команды в турнир используем урл — tournaments/add/. тут и команду добавляешь и игрока все вместе

Нико
Вот тут у вас и начинаются проблемы. Вы, грубо говоря, заходите на страницу с турниром, нажимаете ссылку tournaments/add/ "Добавить команду" и заполняете форму.
Но в двойке есть такое понятие как структура url страницы, расписана в этой
теме.

Каждый адрес страницы состоит из нескольких сегментов:
/controller — Название компонента.
/action — Название действия. Каждый компонент может иметь несколько действий внутри себя.
/p1/p2/p3/… — Любое количество параметров, необходимых для этого действия.

у вас получается что вы вызываете контроллер tournaments, в нём запрашиваете совершить действие add, но никаких параметров ему не передаёте.
Поэтому я и предлагаю вам сделать ссылку типа tournaments/add/(id турнира), которая и передаст этот параметр (id турнира). Сама ссылка, где-то в файлах шаблона формируется в конструкции, что-то типа addToolsButton (точное название непомню).

Loadырь

Поэтому я и предлагаю вам сделать ссылку типа tournaments/add/(id турнира), которая и передаст этот параметр (id турнира) я просто не могу это сделать (( может есть пример как это сделать я просто делал все по видео(
#25 2 июня 2016 в 23:45
Отредактировал чуть выше
  1. $this->addToolButton(array(
  2. 'class' => 'add',
  3. 'title' => 'Добавить команду',
  4. 'href' => $this->href_to('add', $tournament_id)
  5. ));
#26 2 июня 2016 в 23:55


Отредактировал чуть выше

  1. $this->addToolButton(array(
  2. 'class' => 'add',
  3. 'title' => 'Добавить команду',
  4. 'href' => $this->href_to('add', $tournament_id)
  5. ));

Loadырь

я добавил это в index.php то есть в главную тоже самое ведь получается
#27 3 июня 2016 в 00:02


Отредактировал чуть выше

  1. $this->addToolButton(array(
  2. 'class' => 'add',
  3. 'title' => 'Добавить команду',
  4. 'href' => $this->href_to('add', $tournament_id)
  5. ));

Loadырь

Я вам отправил файлы если не трудно чуть чуть сделайте наброски как должно быть я сразу пойму как что я просто пока не имею понятия вообще что надо делать(
#28 3 июня 2016 в 10:41

Я вам отправил файлы

Нико
В том архиве что вы выложили тут, напроч отсутствует папка шаблонов templates. Вам это
  1. $this->addToolButton(array(
  2. 'class' => 'add',
  3. 'title' => 'Добавить команду',
  4. 'href' => $this->href_to('add', $tournament_id)
  5. ));
надо было прописать в начале файла templates/default/controllers/tournaments/index.tpl.php
Но можно и в файле index.php, только прописать немного иначе.
  1. cmsTemplate::getInstance()->addToolButton(array(
  2. 'class' => 'add',
  3. 'title' => 'Добавить команду',
  4. 'href' => $this->href_to('add', $tournament_id)
  5. ));
#29 3 июня 2016 в 14:16


Я вам отправил файлы

Нико
В том архиве что вы выложили тут, напроч отсутствует папка шаблонов templates. Вам это
  1. $this->addToolButton(array(
  2. 'class' => 'add',
  3. 'title' => 'Добавить команду',
  4. 'href' => $this->href_to('add', $tournament_id)
  5. ));
надо было прописать в начале файла templates/default/controllers/tournaments/index.tpl.php
Но можно и в файле index.php, только прописать немного иначе.
  1. cmsTemplate::getInstance()->addToolButton(array(
  2. 'class' => 'add',
  3. 'title' => 'Добавить команду',
  4. 'href' => $this->href_to('add', $tournament_id)
  5. ));

Loadырь
Cпасибо решил проблему создал компонент по другому создал join.php
#30 3 июня 2016 в 14:24

решил проблему

Нико
Рад за вас, хотя сам понимаю, препод из меня некудышний. Вы приспмотритесь к этой разработке. С ней вас структуру кмс понять проще (наверное) будет
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.