Перейти к содержимому


Доп. действие во всплывающем окне


Сообщений в теме: 11

#1 OlegSmirnov

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Дмитров, МО
  • Интересы:Собаки, путешествия, web-программирование.

Отправлено 26 Март 2014 - 03:46

Добавил дополнительное действие в таблице, но его кнопки над таблицей не появляется. Причём если в настройках доп. действия указать, что оно выполняется в текущем окне - то кнопка для действия появляется. А когда выбираешь выполняется во всплывающем окне - то его кнопка над таблицей опять исчезает. Причём в режиме просмотра отдельной записи - кнопка такого доп. действия (выполняющегося в новом окне) - отображается и при нажатии открывается новое окно этого доп. действия. А вот в режиме таблицы - кнопка доп. действия, выполняющегося во всплывающем окне - отсутствует.

Интересует вопрос, как можно в режиме таблицы выбрать несколько строк, после чего при нажатии на кнопку - откроется некая форма, а далее выполнятся некие вычисления для этих выбранных строк с учётом данных из заполненной формы? Я так понял, что это можно сделать с помощью доп. действия, выполняющегося во всплывающем окне. Вот в документации написано:

Цитата

Пример 2. Есть таблица "Задания" и нам необходимо чтобы по нажатию кнопки
"Принять" (код которой мы опишем ниже) во всех строках выделенные галочками
поле "Принято" менялось свое значение на "Да", а в поле "Дата выполнения"
проставлялись текущие дата и время. Также в поле "Оценка" должно подставляться
значение из всплывающего окна.

В этом случае "Тип доп. действия" ставим "Во всплывающем окне" и пишем следующий код:

Однако, когда я ставлю "во всплывающем окне" - кнопки над таблицей для этого действия нету и применить его для всех строк, выделенных галочками не получается.

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 26 Март 2014 - 08:39

Доп. действия "во всплывающем окне" работают только в режиме просмотра записи. Это связано с некоторыми особенностями работы доп.действий.

#3 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 26 Март 2014 - 09:09

Пример 2 не корректно описан, ко всему прочему.

Цитата


Есть таблица "Задания" и нам необходимо чтобы по нажатию кнопки
"Принять" ... во всех строках выделенные галочками
Это только для Доп.действий, выполняющихся в текущем окне.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#4 OlegSmirnov

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Дмитров, МО
  • Интересы:Собаки, путешествия, web-программирование.

Отправлено 26 Март 2014 - 10:52

Просмотр сообщенияCbCoder (26 Март 2014 - 08:39) писал:

Доп. действия "во всплывающем окне" работают только в режиме просмотра записи. Это связано с некоторыми особенностями работы доп.действий.
То есть для реализации того, что я хочу сделать - мне получается нужно создать представление, в котором уже выводить таблицу с галочками и нужными мне дополнительными инпутами?

#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 26 Март 2014 - 12:25

В представлении вы в любом случае можете что угодно сделать, не совсем понял сути вопроса.

#6 OlegSmirnov

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Дмитров, МО
  • Интересы:Собаки, путешествия, web-программирование.

Отправлено 26 Март 2014 - 18:25

Суть вопроса была в том, что представление - это единственный способ реализовать такое:

Цитата

Интересует вопрос, как можно в режиме таблицы выбрать несколько строк, после чего при нажатии на кнопку - откроется некая форма, а далее выполнятся некие вычисления для этих выбранных строк с учётом данных из заполненной формы?
или есть ещё варианты какие-то, основанные на стандартных таблицах?

#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Март 2014 - 08:32

В принципе код для всплывающего окна (форму) можно разместить и так. Разница в том, что он будет выполнятся в текущем окне, и после обработки данных нужно перенаправлять обратно в таблицу (или в любое другое место программы)

#8 OlegSmirnov

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Дмитров, МО
  • Интересы:Собаки, путешествия, web-программирование.

Отправлено 31 Март 2014 - 08:36

Просмотр сообщенияCbCoder (27 Март 2014 - 08:32) писал:

В принципе код для всплывающего окна (форму) можно разместить и так. Разница в том, что он будет выполнятся в текущем окне, и после обработки данных нужно перенаправлять обратно в таблицу (или в любое другое место программы)
Не понял, о чём речь, можно немного подробнее? "и так" - это где?

#9 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 31 Март 2014 - 10:14

"И так" - в текущем окне. Разница между этими двумя типами действий только в том что в для одного открывается отдельное окно, для другого - нет. Ничто в принципе не мешает тот же код с формой запустить в текущем окне.

#10 OlegSmirnov

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Дмитров, МО
  • Интересы:Собаки, путешествия, web-программирование.

Отправлено 31 Март 2014 - 10:29

Всё равно не понял, как это должно работать, что нужно сделать. Вот допустим, создал таблицу, добавил в неё доп.действие и написал такой код вычисления (просто для пробы):

if(isset($_POST['mytext'])) {
echo htmlspecialchars($_POST['mytext']);
}
echo '
<form name="testform" method="post">
Текст: <input type="text" name="mytext" value="" />
<input type="submit" value="Отправить" />
</form>';
Но когда я над таблицей выбираю это доп.действие - уходит на сервер запрос и просто перезагружается текущая таблица, никакая форма не отображается. Как мне нужно написать вычисление, или что я ещё пропустил?

#11 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 31 Март 2014 - 10:44

Пропустили exit в конце кода. Без этого после выполнения кода доп.действия идет возврат в текущую таблицу.

#12 Tony999

    Активный участник

  • Пользователи
  • PipPipPip
  • 412 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 03 Апрель 2015 - 02:06

Просмотр сообщенияCbCoder (31 Март 2014 - 10:14) писал:

"И так" - в текущем окне. Разница между этими двумя типами действий только в том что в для одного открывается отдельное окно, для другого - нет. Ничто в принципе не мешает тот же код с формой запустить в текущем окне.

Можно, конечно, свою форму сделать, чтобы по доп. действию прямо из таблицы открывалась, но тогда в input-ы $line-ы уже не подставишь, придется как-то эти данные через $_SESSION, например, переносить... что не очень то удобно. То есть открытая из вычислений с помощью javascript новая форма ничего не будет знать о вычислениях самого доп. действия.
Может я не прав? Хорошо бы...

Сообщение отредактировал Tony999: 03 Апрель 2015 - 02:07

Умные сайты на заказ
https://info.crm-master.info





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных