2012-01-27 5 views
2

Я знаю, что у них есть несколько вопросов о кодировании кода, но из того, что я могу сказать, они не кажутся релевантными.codeigniter pagination первая страница URL

FYI Я использую номера страниц в моем URL, а не индекс (с помощью опции конфигурации use_page_numbers)

Так что моя проблема является первым звеном.

Моя структура URL для страницы, кроме страницы 1 является:

http://www.something.com/foo/page/x

Это все работает отлично, однако, когда я наведите курсор мыши на ссылку на странице 1 URL-адрес, который приходит есть:

http://www.something.com/foo/page/

Теперь я знаю, то потому что Айв объявлен базовый URL, как:

$config['base_url'] = $this->uri->slash_segment(1, 'both') . 'page/'; 

Но это possbile либо имеют ВГД за страницу 1, как:

http://www.something.com/foo/

ИЛИ

http://www.something.com/foo/page/1/

Надежда, что имеет смысл, и кто-то может помочь. Я попытался установить base_url на страницу/1, если 3-й сегмент был пустым, но без радости.

спасибо за чтение

+0

Зачем вам нужно использовать «страницу/1» в вашей ссылке? Вы можете использовать «страницу» как «страница/1» по крайней мере для функциональности – motto

ответ

0

Я только закончил тем, что URL-адрес с/Foo/без сегмента «страницы» в там. Это было сделано с помощью обычного метода из документации:

http://codeigniter.com/user_guide/libraries/pagination.html

Спасибо всем за ваш вклад, хотя.

+0

это может помочь вам http://stackoverflow.com/questions/9041422/how-can-i-speed-up-the-database-process/ 9041672 # 9041672 – Philip

0

Этой вещь происходит потому, что вы добавляете параметр «/» Страницы для постраничного Базового URL

Просто измените конфигурацию для пагинации. Установите его, как показано ниже:

$pagination['base'] = $this->config->item('base_url'); 
$config['base_url'] = $pagination['base'].'foo'; 

Это работает и ссылка нумерацией страниц на первой странице будет http://www.something.com/foo/

8

Представьте, что ваш base_url является:

$config['base_url'] = base_url() . 'method/page/'; 

Таким образом, изменение кода, как показано ниже, чтобы иметь первый URL, как вы хотите:

$config['base_url'] = base_url() . 'method/page/'; 
$config['first_url'] = '1'; 
$this->pagination->initialize($config); 

Теперь первая ссылка страница должна быть:

http://example.com/method/page/1

+0

Я думаю, что base_url должен выглядеть как 'base_url ('method/page')', но свойство 'first_url' сортировало мою проблему. Pagination in codeigniter для меня был довольно сложным по сравнению с классом, который я использовал в ASP.NET. – user3442612

0

Использование Следующий код: $FullURL = explode('?',$_SERVER['REQUEST_URI']);
$config['first_url'] = base_url() . 'test/testing?'.$FullURL[1];

$ this-> pagination-> initialize ($ config);

Это решит вашу проблему.