Контент на одной из моих страниц загружается через Ajax.Содержимое и разбиение на страницы все обрабатываются и загружаются в контейнерный блок довольно хорошо, за исключением проблемы неправильного размещения CURRENT PAGE на нумерации страниц.
1-я страница всегда задается как текущая страница, и я не могу понять, почему
Пример URL для, например, 2-й страницы:
http://localhost/mysite/index.php/category/item/2
Метод нумерации страниц, вызываемый Ajax:
Методу передается два параметра POST cat_id для контента, извлекаемого из БД и текущей страницыномер
public function category_product_pagination(){
if(!empty($this->input->post('cat_id')) && !empty($this->input->post('page'))){
$cat_id_enc = $this->input->post('cat_id');
$cat_id = $this->decryptGetId($cat_id_enc);
$page = $this->input->post('page');
$slug = $this->ajax_model->dbSingleColQuery('slug', 'product_category', "id = '".$cat_id."'");
/////////////// PAGINATION //////////////
$config = array();
$config["base_url"] = base_url() . "/category/".$slug;
$total_row = $this->ajax_model->dbRowCountQuery('product', "cat_id = '".$cat_id."' AND del_status = 0");
$config["total_rows"] = $total_row;
$config["per_page"] = $this->per_page;
$config['use_page_numbers'] = TRUE;
$config['num_links'] = 2;
$config['next_link'] = 'Next';
$config['prev_link'] = 'Previous';
$config['uri_segment'] = 3;
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li><a class="current">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$this->pagination->initialize($config);
$limit_row = ($page == 1) ? 0: ($page - 1) * $config["per_page"];
$product_list = $this->ajax_model->dbMultiRowQuery('*', 'product', "cat_id = '".$cat_id."' AND del_status = 0", 'id', 'DESC', $limit_row, $config["per_page"]);
$str_links = $this->pagination->create_links();
$pagination = explode(' ',$str_links);
/////////////// PAGINATION //////////////
echo '<ul class="tsc_pagination">';
foreach ($pagination as $key => $link) {
echo $link;
}
echo '</ul>';
}
}// End function
Ajax / Jquery
(function($){
var cat_id = $("#filter_form_id input[name=cat_id]").val();
var form_data = {
cat_id : cat_id,
page : page,
secure_csrf_token_name : csrf
}
$("#this_category_product_container").html('<img src="'+base_url+'assets/img/ajax-loader.gif" />');
$.ajax({
url : site_url+"/category-product-loader",
type : "POST",
data : form_data,
dataType: "html",
cache : false
})
.done(function(resp){
if(resp == 5){
$("#this_category_product_container").html(respMsg('No product match found!', 2));
}
else{
$("#this_category_product_container").html(resp); // Product Loading into container tag
// Generate Pagination
$.ajax({
url: site_url+'/category-product-pagination',
type : "POST",
cache: false,
dataType: "html",
data : form_data,
success: function(paginate){
//alert(page);
$("#pagination").html(paginate);
}
});
// Generate Pagination
}
})
.fail(function(){
$("#this_category_product_container").html('Query to sever unsuccessful. Try again shortly!');
});
})(jQuery);
Был бы рад получить помощь ...