Не получается вывести определенные категории?

Не могу понять как мне вывести определенные категории. Когда я перехожу на какую ту категорию, то у меня выводятся все товары из разных категории, как бы все в кучу. Я не могу понять где принимать $id что бы передать ту выбранную категорию и там например можно было делать фильтрацию товара по той категории который выбрал пользователь.

Раньше вот так выводилась site.loc/category/index?id=18

CategoryController это было раньше без model search

public function actionIndex($id)
{
    $query = ProductPit::getProductByStatus($id);
    $countQuery = clone $query;

    $pagination = new Pagination(
        [
            'defaultPageSize' => 21,
            'totalCount' => $countQuery->count(),
            'forcePageParam' => false,
            'pageSizeParam' => false
        ]
    );

    $models = $countQuery
        ->offset($pagination->offset)
        ->limit($pagination->limit)
        ->all();

    if (empty($models)) {
        throw new HttpException(404, 'Категория не найдена');
    }

    return $this->render('index', [
 'models' => $models, 
 'pagination' => $pagination
]);
}


А сейчас у меня model search и CategoryController такой код, а также я использую listView
public function actionIndex()
{
    $searchModel = new ProductPitSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

    return $this->render('index', [
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
    ]);
}
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ответы на вопрос 1
qonand
@qonand
Software Engineer
Собственно как и раньше необходимо передавать id выбранной категории в контроллер с помощью адресной строки, потом из контроллера передавать их в поисковую модель, ну и в поисковой модели необходимо объявить соответствующее свойство и делать по нему поиск.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы