Codeigniter: второй параметр _remap (должен быть сегментом url) возвращается пустым? - PullRequest
0 голосов
/ 09 мая 2011

У меня проблема. Я переопределил вызов метода по умолчанию в CI с помощью функции _remap. Все это работает так, как я должен, когда я передаю один параметр, который, конечно, является переопределенным методом (второй сегмент URI). Однако, следуя инструкциям руководства пользователя, когда я пытаюсь получить дополнительные сегменты URL-адреса с помощью метода, приведенного ниже, массив $ params пуст? Я использовал переменную dump для переменной $ a в моем main_view, и она всегда показывает, что массив пуст, даже когда присутствует 3-й сегмент URI.

Руководство пользователя CI гласит: «Любые дополнительные сегменты после имени метода передаются в _remap () в качестве необязательного второго параметра.» (http://codeigniter.com/user_guide/general/controllers.html) Но, похоже, это не так. делаешь неправильно?

class Services extends Controller {
 var $group = 'services';
function Services()
{
    parent::Controller();
    $this->load->helper('url');
}

public function _remap($subPage, $params = array()){

    $pageData = $this->page_builder->buildPage($this->group,$subPage);
    if($subPage != 'index'){ $pageData['thisPage'] = $this->group .'/' . $subPage; }
    else{ $pageData['thisPage'] = $this->group; }
    $pageData['a'] = $params;
    $this->load->view('main_view', $pageData);
}

}

Спасибо.

1 Ответ

1 голос
/ 21 июля 2011

У меня тоже была похожая проблема, поэтому я сделал небольшой твик, который работал на меня:

$segs = $this->uri->segment_array();
        $params=array_slice($segs, array_search($method, $segs));
...