Ayuda editar paginador

  • Autor Autor xaiborweb
  • Fecha de inicio Fecha de inicio
xaiborweb

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');
 
Atrás
Arriba