2014-11-09 3 views
0

У меня есть настройка кода с контроллером по умолчанию. Это доступно следующим образом:Пропустить переменную к контроллеру codeigniter по умолчанию

site.com/index.php 

Но это на самом деле:

site.com/project/index 

Если индекс функции по умолчанию.

Я хотел бы сделать следующее:

site.com/project7362 

Но он на самом деле хочет:

site.com/project/index/project7362 

Где название проекта является переменной, которая проходит в индексной функции. Но по умолчанию он ищет имя проекта в качестве контроллера. Есть ли способ избежать этого?

По сути, я надеюсь передать переменную непосредственно после имени домена. Пользователь может создать проект, и я хочу, чтобы проект был доступен на domain.com/project_id

+0

Привет, Адам, как зовут ваш контроллер, который вы пытаетесь использовать? Пожалуйста, также более четко отредактируйте название проекта и проекта, чтобы было понятно, чего вы хотите достичь. – Kyslik

+0

Имя моего контроллера - «проект». Могут ли мои правки иметь больше смысла? – Adam

ответ

1

«По сути, я надеюсь, что выполнить это передать переменную непосредственно после имени домена. Пользователь, может создать проект, и я хочу, чтобы проект был доступен на domain.com/project_id»

так еще один способ сделать это было бы, чтобы он хотел.

domain.com/project/id 

это даст вам гораздо больше гибкости в дальнейшем на ваших маршрутах для добавления различных функций.
в конфигурации/маршрутов:

$route['project/(:any)'] = 'project/view/$1'; 

в контроллере проекта

function view($id) { 

    // clean it 
    $id = htmlspecialchars($id) ; 

    if (! $project = $this->members->returnProjectBy($id) { 

     $this->showNoResultsFor($id) ; } 

    else { $this->show($project) ; } 

    }  

ИЛИ - еще один способ сделать это бы поставить свои определенные маршруты первой, а затем проект будет последним (потому что он требует поиска по всему, что там есть)

$route['home'] = 'page/home'; 
$route['contact'] = 'contact'; 
// etc etc so you first define your hard coded routes, and then if its not any of those 
// you do a search on whatever the value is to find a project 
$route['(:any)'] = 'project/view/$1'; 

так что ваша ссылка может быть

domain.com/id