Я хочу передать параметры в cakephp, как я могу это сделать, когда я искал отсортированный результат, а затем нажимаю на 2 страницы разбивки на страницы, он не будет помнить URL-адрес, я хочу передать параметры, которые я выбрал, dromdown, как я могу передать Параметры в разбивке на страницы в моем коде контроллера
$membershipType = ''; $status = ''; $timeSpan = ''; $fieldName = 'membership_Type'; if(!empty($this->params->named["fieldName"])){ $this->request->data['associations']["fieldName"] = $this->params->named["fieldName"]; } $fieldName = 'statuses'; if(!empty($this->params->named["fieldName"])){ $this->request->data['associations']["fieldName"] = $this->params->named["fieldName"]; } $fieldName = 'time_Span'; if(!empty($this->params->named["fieldName"])){ $this->request->data['associations']["fieldName"] = $this->params->named["fieldName"]; }
Я хочу передать значение имени полей в разбивке на страницы, как я могу их передать? на мой взгляд, код
echo $this->PaginatorManager->options();
Я действительно застрял здесь с двух дней, я не знаю, что я могу сделать сейчас? пожалуйста, помогите мне, будет оценено еще много, спасибо за тонну заранее.
Вы можете передать параметр «url» для разбивки на страницы следующим образом:
$url = array_merge($this->request->pass, $this->request->named); unset($url['page']); $parts = explode('?', $_SERVER['REQUEST_URI'], 2); if (count($parts) == 2) { $url['?'] = $parts[1]; } $this->Paginator->options(array( 'url' => $url, ));
с$url = array_merge($this->request->pass, $this->request->named); unset($url['page']); $parts = explode('?', $_SERVER['REQUEST_URI'], 2); if (count($parts) == 2) { $url['?'] = $parts[1]; } $this->Paginator->options(array( 'url' => $url, ));
Подробнее здесь: http://api.cakephp.org/2.2/class-PaginatorHelper.html и здесь: http://book.cakephp.org/2.0/ru/core-libraries/helpers/paginator.html#PaginatorHelper :: опции
Если вы широко используете фильтры и дополнительные параметры url – создайте элемент, который будет обрабатывать его для вас
Это работает для меня:
Я определяю параметры в app.Config.routes.php:
Router::connect('/my_account/*', array('controller' => 'ads', 'action' => 'my_account'), array( 'pass' => array('status') ));
Затем в файле view:
$this->Paginator->options(array( 'url' => $this->request->pass ));