Отправить данные в контроллер/модель и получить результат

Я хочу сделать второй фильтр на opencart 3, поэтому я получил файлы фильтров по умолчанию из контроллера и модели и немного изменил их.

Теперь я сталкиваюсь с проблемой, когда я хочу при выборе изменения отправлять данные и получать данные с сервера.

<script type="text/javascript">
    $(document).ready(function(e) {
    $("select").on('change', function() {
    var url = "controller/catalog/test.php";
    var id = $("#select-option").val();
    $.ajax({
      type: "GET",
      url: url,
      data: 'filter_group_id='+id,
      success: function(data) {
        $('.test').html(data)
      }
    });
  });
});
</script>

и я понимаю это

Неустранимая ошибка: класс «Контроллер» не найден в /home/public_html/admin/controller/catalog/test.php в строке 2.


person Ivan    schedule 07.01.2019    source источник


Ответы (1)


Я думаю, что лучше создать функцию без создания страницы.

Например, если вы собираетесь фильтровать результаты из Каталога -> Продукты, вы можете создать функцию фильтрации на контроллере продукта, например:

public function filterByGroupId(){
}

то вы можете получить доступ к этой функции следующим образом,

index.php?route=каталог/продукт/filterByGroupId

person user3099298    schedule 07.01.2019
comment
теперь результат показывает страницу входа в систему и говорит, что неверный сеанс / user_token - person Ivan; 07.01.2019
comment
вы должны добавить user_token. index.php?route=catalog/product/filterByGroupId&user_token={{ user_token }} и user_token должны быть определены в соответствующем файле контроллера. - person K. B.; 07.01.2019
comment
я сделал это и работал, но теперь я столкнулся с другой проблемой: ошибка: неперехваченная ошибка: вызов функции-члена getFilterGroup() для нулевого контроллера Источник: общедоступная функция test(){ if (isset($this-›request-›post[' filter_group_id'])) { $filter_group_info = $this-›model_catalog_damask_category-›getFilterGroup($this-›request-›get['filter_group_id']); } - person Ivan; 07.01.2019
comment
кажется, ваш фильтр в вашем файле контроллера пуст... public function filterByGroupId(){ /*here should be some your code*/ } какой у вас там код? - person K. B.; 08.01.2019
comment
У меня есть следующий код: ']); } - person Ivan; 08.01.2019
comment
$this->request->get['filter_group_id'] проверьте эту переменную, кажется, что она пуста, или ваш файл модели неверен. - person K. B.; 08.01.2019