Code Igniter, Routing y Pagination

Tunnecino

Bueno, estoy terminado un proyecto en CI, y tengo un sistema de sorting de resultados, que vendría siendo algo como (tipo, id, start, limit), y usando la librería de pagination del propio CI, lo tengo configurado así cómo:

$data['cms']['tables']['base_url'] = base_url($data['sub_active'].'/sort/'.$type.'/'.$id.'/page');

http://miweb.com/candidates/sort/country/ES/page

Y en el routes.php tengo:

$route['candidate/sort/(:any)/(:any)/(:num)'] = 'candidate/sort/$1/$2/$3';

Y la función sort del controlador candidate tiene los siguientes campos:

public function sort($type, $id, $page = 1) { ... }

Bien, si uso el routing como tengo arriba, el valor $page me devuelve index, no se por qué... y claro, no funciona, y si quito el page/ del routing, entonces la librería pagination de CI no funciona.

A ver si alguien tiene alguna idea de que puede ser ese valor index fantasma.

Gracias de hantebraso.

djtonight

el index ese no será que de alguna manera detecta el /index.php/ de la URL?

Tunnecino

Se supone que en la URL no hay index.php, ya que lo ignora con .htaccess, y de ser así.. es que el valor $3 del routing es el (:num)... y por qué si quito /page/ si sale el verdadero campo de $page?

Edit:

Vale, ahora si funciona, no se por qué, pero por alguna razón, no me pilla la pag actual la librería de codeigniter de pagination, en 10 secciones que la uso si, en esta, no, me pagina, puedo cambiar entre páginas, pero siempre es "pag 1".

Tunnecino

Me auto respondo, por si a alguien le pasa alguna vez lo mismo. Cuando la url se "compleja" un poco, hay que decirle que segmento de la URL leer para la paginación, configurando:

$config['uri_segment'] = 6; # según tu URL 
1 respuesta
DarkSoldier

#4 auto respondo ????

:                @Tunner ¦ el problema
:                @Tunner ¦ es que estoy usando la librería
:                @Tunner ¦ de codeigniter de paginatino
:                @Tunner ¦ pagination*
?             @kaseOga ¦ y ?
?             @kaseOga ¦ $config["uri_segment"] = 1;
?             @kaseOga ¦ es ahi
?             @kaseOga ¦ donde pones k opate del segmento
?             @kaseOga ¦ esta la pagina

xDDDDDDDDDDDDDDDDD

1 respuesta
Tunnecino

#5 Te peten, no me acordaba que tu también me lo habías dicho xD

willsmith

Yo lo tengo asi por si a alguien le interesa

$config['base_url'] = base_url().'admin/galeria/';
				$config['total_rows'] = count_num_galeria();
				$config['per_page'] = '10'; 
				$config['first_link']		= $this->lang->line('Inicio');
				$config['last_link']		= $this->lang->line('Final');
				$config['uri_segment']		= '3';
				$this->pagination->initialize($config);
				if(!$this->uri->segment(3))
				{
					$page = 0;
				}else
				{
					$page = $this->uri->segment(3);
				}
1

Usuarios habituales

  • willsmith
  • Tunnecino
  • DarkSoldier
  • djtonight