Новости Joomla

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

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Вопрос как получить это самое значение filer_tip, а не в том как скрывать или раскрывать поля.
А я думал, что вопрос именно в этом, нет?
У меня десять типов записей (заявок). Когда я обращаюсь к конкретной записи (для просмотра или редактирования) из списка записей, то я знаю тип этой записи, и в модели подставляю нужную форму.
Но когда надо создать новую запись - как это лучше сделать?
Как я понял, проблема только при создании новой записи, верно? То есть, вы не знаете, какой набор полей выводить. Так сделайте select со списком значений типа. Далее:
1. Навешайте скриптик, который будет выводить нужный набор полей при выборе нужного значения типа.
2. Или отправьте значение типа на сервер (AJAX'ом или с перезагрузкой страницы, как b2z написал выше) и выводите нужную форму.
« Последнее редактирование: 06.12.2016, 14:40:04 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Так я и хочу сделать выбор типа заявки в одной форме (просто задать значение) (форму уже выкладывала) и перейти из этой формы
Код
   <input type="hidden" name="option" value="com_order" />
            <input type="hidden" name="task" value="registration" />
в форму регистрации и там (в контроллере?, в модели?) предварительно получить выбранное значение типа заявки. Конечно, можно в самой форме выбрать тип формы и по этому событию формировать поля формы (хоть вручную, хоть с суб-формами).
Я, может быть, не могу правильно сформулировать свой вопрос. Мне хотелось бы получить значение, выбранное в селекте одной независимой формы (где кроме этого селекта ничего нет и она не связана с таблицей) и получить это значение для начала регистрации.
Тогда только через сессию.
https://docs.joomla.org/How_to_use_user_state_variables
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Тогда только через сессию.
b2z, а почему нельзя обычным путем, через $_REQUEST? Я что-то не догнал?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
b2z, а почему нельзя обычным путем, через $_REQUEST? Я что-то не догнал?
Хотя да, если мы постим форму, то значение получаем в контроллере (или модели) и дальше редирект на новую форму.

В принципе этот код должен работать (в модели):
Код: php
$input = JFactory::getApplication()->input;

// Название формы из значения типа заявки
$formName = 'form_' . $input->getInt('filter_tip', 1);

// Дальше выбираем нужную форму
$form = $this->loadForm(
    $this->option . '.' $formName, $formName, array('control' => 'jform', 'load_data' => $loadData)
);
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Хотя да, если мы постим форму, то значение получаем в контроллере (или модели) и дальше редирект на новую форму.
Т.е., если в site/com_order/models/registration.php написать
Код
public function getForm($data = array(), $loadData = true) 
{
  $mytip = (int) JRequest::getVar('filter_tip', '1', 'post');
   
// Устанавливаем форму в зависимости от типа заявки.
    $this->form = $mytip ;
   
// Get the form.
$form = $this->loadForm(
           'com_order.' . $this->form, $this->form, array('control' => 'jform', 'load_data' => $loadData)
);
 
if (empty($form))
   {
      return false;
}
   
return $form;
}
то загрузится форма, соответствующая типу, выбранному в селекте другой формы?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Смотрите мой комментарии выше - я привёл там код.
Именно так я и выбирала форму для загрузки, но при этом я обращалась к уже существующей записи с определённым типом. Меня сбило с толку, что информацию о типе надо получать из другой формы. Сейчас попробую.
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Смотрите мой комментарии выше - я привёл там код.
Спасибо большое! Все получилось.
Там у Вас небольшая ошибка (лишняя скобка)
Код
// Название формы из значения типа заявки
$formName = 'form_' . $input->getInt('filter_tip', 1));
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Спасибо большое! Все получилось.
Там у Вас небольшая ошибка (лишняя скобка)
Код
// Название формы из значения типа заявки
$formName = 'form_' . $input->getInt('filter_tip', 1));
Да, поправил. Не в IDE писал. К хорошему быстро привыкаешь  ::)
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Да, поправил. Не в IDE писал. К хорошему быстро привыкаешь  ::)
Да уж. К хорошему быстро привыкаешь.
Кхе-кхе. Если редактировать уже сохранённую запись, то в контроллере id этой записи как получить?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Всё зависит от кода контроллера.
Начало кода:
Спойлер
[свернуть]
Из $data  будет $id=$data->id или $id=$data['id']?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
А чего сами не проверите-то?
Код: php
print_r($data); die;
Если используете IDE, настройте уже отладку. Это так сильно упрощает жизнь.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как правильно записать дату создания записи в БД?

Автор ImPuLsE

Ответов: 13
Просмотров: 2779
Последний ответ 11.09.2019, 22:58:57
от sev07
Получить данные из поля " file", и передать в файл обработчик

Автор Glog

Ответов: 5
Просмотров: 1326
Последний ответ 01.08.2017, 13:55:40
от Glog
Проблема с class ers

Автор web3.0

Ответов: 11
Просмотров: 1053
Последний ответ 29.04.2017, 09:57:04
от web3.0
Передача поля формы во view в другую модель по кнопке контроллера

Автор tm2010

Ответов: 28
Просмотров: 1605
Последний ответ 18.02.2016, 17:27:06
от tm2010
Проблема с хлебными крошками!

Автор Aleks.Denezh

Ответов: 1
Просмотров: 1067
Последний ответ 23.12.2015, 00:17:27
от Aleks.Denezh