@sllugovskih

Города в URL CodeIgniter как?

Необходимо чтобы на сайте были URL вместо site.ru/city/moskva/kvartiry/sdam/ вида: site.ru/moskva/kvartiry/sdam

Все параметры должны быть "динамическими" в адресе.

Есть контроллер City код ниже:

class City extends CI_Controller {

	public function index($param1, $param2) {
		
		if ($param1 == 'kvartiry') {
			echo "страница квартир";
		}
		
		if ($param2 == 'sdam') {
			echo "тип сделки: Сдача";
		}
		
	}

}


Получилось сделать вывод сайта в формате site.ru/moskva/ через routes.php, добавлением строки:
$route['(:any)'] = "city";

При этом срабатывает метод index в контроллере City. Но как сделать чтобы дополнительные параметры тоже принимались? например site.ru/moskva/kvartiry/ - уже выдает 404 ошибку.

Пробовал добавлять в routes.php строку:
$route['(:any)'] = "city/$1";

не помогло
  • Вопрос задан
  • 971 просмотр
Пригласить эксперта
Ответы на вопрос 1
@MrKMV34
Превозмогая трудности
Как вариант можно указать максимальное количество параметров, которое попадёт в action контроллера
$route['(:any)/(:any)/(:any)'] = 'city/index/$1/$2/$3';

И обработать их как требуется
class Сity extends CI_Controller
{
   
    public function index($city = 'msk', $object = '', $offer_type = '')
    {
        echo '<pre>' . var_export($city, true) . '</pre>';
        echo '<pre>' . var_export($object, true) . '</pre>';
        echo '<pre>' . var_export($offer_type, true) . '</pre>';
        die;
    }
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы