Новости Joomla

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

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Собственно вопрос весь в теме, просто поясню если не понятно.

Есть фильтрация на виде orders, в фильтре участвует поле route_id, которое выбирается в модальном окне. Так вот у вида routes есть привязка к категории и я решил в вид orders сделать фильтрацию по категории - все вышло хорошо, но хотелось бы при установленном параметре "CATEGORY_ID" в фильтре вида orders получить эту категорию и отфильтровать вывод модального вида routes.

посмотрел в
$this->state - это свой фильтер
$this->filterForm - там вроде нужный перечень, но значений нет

Подскажите где искать!
« Последнее редактирование: 29.03.2017, 13:09:29 от platonische »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
components/com_mycom/models/forms/filter_orders.xml. Создать, если не существует.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Нет все фильтры работают. Все файлы созданы.
Вопрос в том как из одного фильтра для вида ORDERS забрать значение фильтра для другого фильтра в виде ROUTERS вызванного через модальное окно.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Что значит "забрать"? Создайте нужное поле (тип поля) в нужной форме нужного фильтра.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Забрать я подрузамеваю - получить значение переменной
Все переменные в фильтре есть и отрабатываются. Надо получить значение переменной (из фильтра) в другом виде вызванном модально.
*

robert

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

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Нет в request его нет, нашел в $this, но не пойму как локализовать вот часть дампа
Спойлер
[свернуть]
filter: search, category_id, route_id,... - это те самые значения фильтра, но не понимаю где они лежат
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Попробуйте так
Код: php-brief
$routers_model = JModelLegacy::getInstance('Routers', 'MycomModel');
$category_id = $routers_model->getState('filter.search');

P.S.
MycomModelRouters - это класс модели Routers.
filter.search - точный параметр смотрите в методе MycomModelRouters::populateState().
« Последнее редактирование: 28.03.2017, 18:13:40 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Что-то не прокатило
Спойлер
[свернуть]

Спойлер
[свернуть]

Находимся в виде Orders фильтр настроили в Orders и хотим его достроить (параметр route_id). Лезем менять параметр фильтра route_id через вызов модального окна и там (в модальном виде ROUTES) хочу получить отфильтрованный список.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Что-то не прокатило
Что именно? Как проверяли?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
проверяю var_dump. сунул ваши строки в modal вид . Результат 0
А вот интересно стал искать (методом тыка) где же присутствует переменная и оказалась она есть в $this->pagination

P.S.: бред какой-то... но она там реально есть.


« Последнее редактирование: 28.03.2017, 18:31:25 от platonische »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Код: php-brief
$model = JModelLegacy::getInstance('Orders', 'TurismModel');
$catid = $model->getState('filter.categoty_id');
echo '<pre>';
print_r($model);
echo '</pre>';
Ваш параметр должен быть там. Другое дело - пустой он или нет.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Да есть переменная но все пустое, нулёвое.

Надо посмотреть как в content сделано подцепление категории из фильтра при созданиии нового материала.
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Вот такой ответ нашел
Спойлер
[свернуть]
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Так а теперь вопрос как корректно засунуть параметр из фильтра orders в фильтрацию routes?

вариант вижу такой: в модели сделать проверку на модальность и брать там параметр и внедрять его в getListQuery
Правильно ли мыслю и какие камни могут быть?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Да, думаю, что это правильное решение.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
А как в моделе понять что это MODAL вывод?

что-то не найду. в виде есть $this->getLayout(), но в моделе его нет
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Берите из $_REQUEST: layout=modal.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Берите из $_REQUEST: layout=modal.
Да это вариант! Отработало.
А подскажите ещё. Можно ли как-то узнать кто запустил модальное окно? у меня его могут вызывать виды orders, tours и etc... чтобы в модальном знать чьи фильтры стоит посмотреть.
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
переделал только $_REQUEST через $jinput = JFactory::getApplication()->input;
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Конечно можно $_SERVER['HTTP_REFERER'] отпарсить!
А может у J! свои варианты есть?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А подскажите ещё. Можно ли как-то узнать кто запустил модальное окно? у меня его могут вызывать виды orders, tours и etc... чтобы в модальном знать чьи фильтры стоит посмотреть.
Сохраните значение view в сессию и вытаскивайте его оттуда для проверки.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Вот вариант. Modal - это AJAX а поэтому $_SERVER['HTTP_REFERER'] содержит отправителя
Решение:
Код
$u = JURI::getInstance( $_SERVER['HTTP_REFERER'] );
$view = $u->getVar( 'view' );
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Итак окончательное решение:
Получать фильтр из другой формы можно и в populaState в моделе вот так
Спойлер
[свернуть]
Первые строки для обычного фильтра, вторые для фильтра из любого вида.
Далее проверяем на модальность и вычленяем который из видов запросил модальное окно. И по результатам делаем доп параметры в sql-запросе в getListQuery в моделе.
Спойлер
[свернуть]
Это чисто мой случай.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[РЕШЕНО] Дублирование при создании

Автор platonische

Ответов: 7
Просмотров: 925
Последний ответ 12.02.2021, 11:24:26
от platonische
[РЕШЕНО] onChange в админке на field modal

Автор platonische

Ответов: 1
Просмотров: 382
Последний ответ 30.01.2021, 16:40:45
от platonische
[РЕШЕНО] Сохранение значений полей добавленных динамически элементу

Автор platonische

Ответов: 30
Просмотров: 2074
Последний ответ 10.11.2019, 15:42:33
от platonische
[РЕШЕНО] Присвоить значения динамическому полю SimpleXMLElement

Автор platonische

Ответов: 4
Просмотров: 763
Последний ответ 08.11.2019, 11:13:27
от platonische
[РЕШЕНО] curl-файл Joomla $model->save($data) подключение модели администратора

Автор platonische

Ответов: 31
Просмотров: 1316
Последний ответ 30.05.2019, 16:10:57
от sivers