Ayuda editar paginador

  • Autor Autor xaiborweb
  • Fecha de inicio Fecha de inicio

xaiborweb

Programador
No recomendado
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
hola compañeros de forobeta, perdonen tanta preguntadera xd, pero estoy editando y optimizando un script.

y la paginacion que tiene https://gyazo.com/85efb44e4bb1771c5f6bef18a1a0c25d
1) no selecciona la pagina donde esta, en la imagen anterior estoy en la ultima pagina y aun así me marca la primera.
2) no se cambia el orden de la paginas deacuerdo a la pagina donde estoy, siempre muestra solo (1 2 3 4 5 6 ultima) ejemplo de como debería quedar:
Page: 1 2 3 4 5 ... 100
1 ... 70 71 72 73 74 75 76 78 79 ... 100
1 ... 92 93 94 95 96 97 98 99 100
3) la url de cada página en ves de ser /page/1, /page/2 etc, la pague 2 es page/45, la 3 /page/90 etc.

y no se por donde empezar xd, les comparto el código por si me pueden dar una manito gracias 😉

la función que controla el paginador es esta:
PHP:
public function index($offset=0)
	{

		$subdomain_arr = explode('.', $_SERVER['HTTP_HOST'], 2);
        $language = $subdomain_arr[0];
        if($language == 'tvglu'){ $lang = 'en'; }else{ $lang = $language; }

        $languages = array('en' => 'english', 'es' => 'spanish', 'de' => 'german', 'fr' => 'french', 'it' => 'italian', 'jp' => 'japanese', 'nl' => 'dutch', 'pt' => 'portuguese', 'ru' => 'russian', 'zh' => 'zh_cn');
        $this->lang->load('all', $languages[$lang]);

		$limit = 45;
		$string = $this->uri->uri_string();
		$filter = $this->uri->uri_to_assoc(2);

		if(empty($filter['page'])){
			$link = current_url().'/page/';
		}else{
			$offset = $filter['page'];
			$link = site_url(str_replace($filter['page'], '', $string));
		}

		$peliculas = $this->movies_model->getmovies($limit,$offset,$filter,$lang);

		$data['total'] = $peliculas['rows'];


		$config['base_url'] = $link;
		$config['uri_segment'] = 2;
		$config['per_page'] = $limit;
		$config['total_rows'] = $peliculas['rows'];
		$config['num_links']= 5;
		$config['full_tag_open'] = '<ul class="pagination">';
		$config['full_tag_close'] ='</ul>';
		$config['num_tag_open'] = '<li>';
		$config['num_tag_close'] = '</li>';
		$config['cur_tag_open'] = '<li class="disabled"><li class="active"><a href="#">';
		$config['cur_tag_close'] = '<span class="sr-only"></span></a></li>';
		$config['next_tag_open'] = '<li>';
		$config['next_tagl_close'] = '</li>';
		$config['prev_tag_open'] = '<li>';
		$config['prev_tagl_close'] = '</li>';
		$config['first_tag_open'] = '<li>';
		$config['first_tagl_close'] = '</li>';
		$config['last_tag_open'] = '<li>';
		$config['last_tagl_close'] = '</li>';
		$this->pagination->initialize($config);
		if($this->ion_auth->logged_in()){
			$user = $this->ion_auth->user()->row();
			$actions = $this->user_model->getuseractions($user->id);
			$data['username'] = $user->username;
			$data['id_user'] = $user->id;
			$data['avatar'] = $user->avatar;
		}

		if(empty($actions)){ $actions = 0; }

		$peliculas = $this->actions->check($peliculas['results'],$actions,1,$lang);

		$data['genres'] = $this->movies_model->getgenres();
		$dates = $this->movies_model->getyears();
		for ($i=0; $i < count($dates); $i++) {
			$years[$i] = substr($dates[$i]->release_date_en, 0, -6);
		}
		$countries = $this->movies_model->getcountries();
		$data['title'] = $this->lang->line('title_movies');
		$data['description'] = $this->lang->line('description_movies');
		$data['imagen'] = 'http://tvglu.net/frontend/assets/img/tvglu.jpg';
		$data['currentpage'] = 'movies';
		$data['years'] = array_unique($years);
		$data['countries'] = $countries[0];
		$data['peliculas'] = $peliculas;
		$data['lang'] = $lang;
		$this->load->view('header',$data);
		$this->load->view('menu',$data);
		$this->load->view('movies/movies',$data);
		$this->load->view('footer');

	}
 
Creo que el problema esta en el URI_SEGMENT y por lo que veo usas codeigniter con pasar el $data 1 vez es suficiente.

PHP:
$this->load->view('header',$data);
        $this->load->view('menu');
        $this->load->view('movies/movies');
        $this->load->view('footer');