Dynamic title page category - Codeigninter - codeigniter

I'm trying to work on a website and would like to know
how to display the category name in the page title, favicon next to the page?
Example: Mysite - Category 1, Mysite - Category 2
Hello everyone, I'm trying to work on a website and would like to know
how to display the category name in the page title, favicon next to the page?
function cat() {
$offset = (int) $this->uri->segment(4);
$appcat_nome = xss_clean($this->uri->segment(3));
$categoria = $this->appcat->get(array('appcat_url' => $appcat_nome, 'appcat_status' => 1, ));
$this->data['titulo'] = 'Digital Feed';
$cond = array('app_on' => 1);
$this->data['apps2'] = $this->apps->getAll($cond, '', 1000, '', 'app_view DESC');
// Configurações do site.
$this->data['config_site'] = $this->config_site->getAll(array('conCod' => 1))->row();
if (count($categoria) == 1)
{
$where = array('A.appcat_id' => $categoria[0]['appcat_id']);
$total_rows = $this->apps->getAll($where)->num_rows();
$this->data['apps'] = $this->apps->getAll($where, $offset, $this->limit, '');
$this->load->library('pagination');
$config['base_url'] = base_url() . 'apps/cat/'. $appcat_nome . '/';
$config['total_rows'] = $total_rows;
$config['per_page'] = $this->limit;
$config['uri_segment'] = 4;
$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->data['total_rows'] = $total_rows;
$this->pagination->initialize($config);
$this->data['pagination'] = $this->pagination->create_links();
$this->load->view('site/apps/index', $this->data);
}else{
redirect(base_url().'apps');
}
}

To set title to pages, pass title from controller.
$data["page_title"] = "Category 1";
In view file:
<?php
$title = "Mysite";
if(!empty($page_title))
$title .= " - ".$page_title;
?>
<title><?php echo $title;?></title>

Related

Getting the same data on pagination in Codeigniter

I am getting the same data when I am clicking on the next button of pagination in CodeIgniter with the following code
public function view($slug){
$data['title']= $slug;
$data['description']= "None";
$postdatacount = $this->Constant_model->snippettagscount($slug);
$checktags= $this->Constant_model->gettags($slug);
if($checktags>0){
if ($postdatacount>0) {
$config = array();
$config["base_url"] = base_url() ."tags/".$slug;
$config["total_rows"] = $postdatacount;
$config["per_page"] = 6;
$config["uri_segment"] = 2;
$config['full_tag_open'] = '<ul class="pagination">';
$config['full_tag_close'] = '</ul>';
$config['first_link'] = false;
$config['last_link'] = false;
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['prev_link'] = '&laquo';
$config['prev_tag_open'] = '<li class="prev">';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = '&raquo';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$this->pagination->initialize($config);
$page = ($this->uri->segment(2)) ? $this->uri->segment(2) : 0;
$data["links"] = $this->pagination->create_links();
$data["title"] = "All Tags";
$data["description"] = "All Tags";
$data['snippets_tags'] = $this->Constant_model->get_tags($config["per_page"],$page,$slug);
$this->snippetfunctions->add_count('tags','tag_name',$slug);
$this->load->view('view_tag_snippets', $data);
}else {
$data["title"] = "No Snippet Found for this Tag";
$data["description"] = "No Snippet Found for this Tag";
$data["slug"] =$slug;
$this->load->view('error_tags',$data);
}
}else{
$this->load->view('404',$data);
}
}
Primary URL Made on this function is
http://127.0.0.1/Mytredin_codesup/tags/user-interface
When I am clicking on Next button following URL is made but not loading the next data but loading the same data and the same thing happens on every next page.
http://127.0.0.1/Mytredin_codesup/tags/user-interface/1
Routes I am using is
$route['tags/(:any)/(:num)'] = 'tags/view/$1/$2';
$route['tags/(:any)'] = 'tags/view/$1';
The problem is with the config $config["uri_segment"] = 2;, according to your routing the page variable is at segment 3.
Use $config["uri_segment"] = 3; instead of $config["uri_segment"] = 2;. Also change the line $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
More details read

Codeigniter: When i do search the pagination page still remains

I have a problem when i do search the pagination number still remains in the url result to showing no resuts. for example when i click a pagination link my url looks like this example/index.php/example/info/10 then when i do search, the url now the url looks like this example/index.php/example/info/10?search=word
How can i fixed this problem
Controller
public function info($offset=0)
{
$this->load->library('pagination');
$search = $this->input->get('search');
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
if($this->input->get('search')){
$count = $this->ticketing_mdl->count_all_ticket();
$config['total_rows'] = $count;
$config['suffix'] = '?' . http_build_query($_GET, '', "&");
$config['base_url'] = "/ticketing/index.php/ticketing/info";
$config['first_url'] = "/ticketing/index.php/ticketing/info?search=$search";
}else{
$this->db->where('is_valid','1');
$config['total_rows'] = $this->db->count_all_results('db_ticketing.tr_ticket');
$config['base_url'] = "/ticketing/index.php/ticketing/info";
}
$limit = 10;
$config['per_page'] = $limit;
$config['num_links'] = $limit;
$config['full_tag_open'] = '<div><ul class="pagination pagination-centered">';
$config['full_tag_close'] = '</ul></div>';
$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>";
$config['first_link'] = 'First';
$this->pagination->initialize($config);
$data['pagination'] = $this->pagination->create_links();
$data['ticket_list'] = $this->ticketing_mdl->get_all_ticket($limit,$page, $offset);
$this->load->view('ticketing/header');
$this->load->view('ticketing/left_menu');
$this->load->view('ticketing/info',$data);
}
Let me know if i am right.
I think you can control it by defining routes.
Set your $config['base_url'] of pagination library like example/index.php/search and define routes (application/config/routes.php) like
$route['search'] = "example/info";
$route['search/(:num)'] = "example/info/$1";
comment this $config['first_url'] = "/ticketing/index.php/ticketing/info?search=$search";
And dont forget to set the html form action="echo site_url('search');" method="get"
I hope this will give you some help.

Insert #anchor in final URL with codeigniter pagination

I have one problem with my pagination in codeigniter.
My pagination is in one #section and when I change the pagination the page reload in header, I need add #anchor in final URL.
In this moment my url is:
http://localhost/php_focas/index.php?per_page=3
And I need this:
http://localhost/php_focas/index.php?per_page=3#agenda
Its my controller :
$urlPaginacao = site_url();
//PAGINAÇÃO *****
$get_total_results = $this->admin_model->mostrarAgenda();
$totalResultados = $get_total_results['total'];
$getPaginacao = $this->paginacao($urlPaginacao,$totalResultados, 3);
$getEventos = $this->admin_model->mostrarAgenda($getPaginacao['inicio'], $getPaginacao['quantidadeResultados']);
$data['district'] = $this->admin_model->mostrarDistrict();
$data['local'] = $this->admin_model->mostrarLocal();
$data['life'] = $this->admin_model->mostrarLife();
$data['useful'] = $this->admin_model->mostrarUseful();
$data['agenda'] = $getEventos['dadosGerais']; //dados gerais do model
$data['pag'] = $getPaginacao['paginacao'];
$this->load->view('index', $data);
}
public function paginacao($urlPaginacao, $totalResultados, $resultadosPorPagina = 3){
$config['base_url'] = $urlPaginacao;
$config['total_rows'] = $totalResultados;
$config['per_page'] = $resultadosPorPagina;
$config['page_query_string'] = TRUE;
$config['full_tag_open'] = "<ul class='pagination pagination-sm'>";
$config['full_tag_close'] ="</ul>";
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['cur_tag_open'] = "<li class='active disable'><a>";
$config['cur_tag_close'] = "</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>";
$config['first_link'] = TRUE;
$config['last_link'] = TRUE;
$quantidade = $resultadosPorPagina;
$this->pagination->initialize($config);
$data['quantidadeResultados'] = $quantidade;
$data['inicio'] = $this->input->get('per_page') != NULL ? $this->input->get('per_page') : '0';
$data['paginacao'] = $this->pagination->create_links();
return $data;
}
And it is my model:
public function mostrarAgenda($inicio=NULL, $quantidade=NULL){
$inicio = $inicio != NULL ? "LIMIT {$inicio},{$quantidade}" : "";
$sqlGeral = "SELECT * FROM tblagenda {$inicio}";
$queryGeral = $this->db->query($sqlGeral);
$data['inicio'] = $inicio;
$data['total'] = $queryGeral->num_rows();
$data['dadosGerais'] = $queryGeral->result();
return $data;
}
The solution was adding the following code in my controller inside function pagination() :
$config['suffix'] = '#agenda';
Hope this will help someone in the future.

Codeigniter wrong pagination link

I'm creating a pagination using codeigniter.
I want the link to be: site_name/categorie_name/page/id => id is dynamic.
When i create the pagination and when i'm on the page site_name/categorie_name/page/1. the next page link is replaced by site_name/categorie_name/page/1/id.
what should i do?
public function Pagginations($total_row,$baseurl,$per_page) {
$config = array();
$config["base_url"] = $baseurl;
$config["total_rows"] = $total_row;
$config["per_page"] = $per_page;
$config['use_page_numbers'] = TRUE;
//$config['num_links'] = 100;
$config['uri_segment'] = 2 ;
$config['num_links'] = 100;
$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->uri->segment(2)) {
$config['page']= $page = ($this->uri->segment(2));
} else {
$config['page']= $page = 1;
}
$config["links"]=explode(' ', $this->pagination->create_links());
return $config;
}
18 is display of product on one row
$config = $this->Pagginations($total_row,$baseurl,18);

search with Codeigniter pagination

Everything with this code is perfect, when I go to second or third ..etc pages
I can browse them normally, my issue with first page when I want to browse first page ,
it gives me this url (http://www.example.com/almanara-shipping/index.php/dashboard/search/)??
it should give me this url (http://www.example.com/almanara-shipping/index.php/dashboard/search?keyword=ali)
public function search($page_start = 0){
$this->load->model('Customers');
$keyword = $this->input->get('keyword');
$data['customers'] = $this->Customers->search($keyword ,2,$page_start);
$this->load->library('pagination');
$config['suffix'] = '?keyword='.$keyword;
$config['base_url'] = site_url()."/dashboard/search/";
$config['total_rows'] = $this->Customers->search_count($keyword);
$config['per_page'] = 2;
$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);
$data['pages'] = $this->pagination->create_links();
$this->load->view('customers',$data);
$this->load->view('templates/footer');
}
I solved the issue by using this code below
$config['first_url'] = $config['base_url'].'?'.http_build_query($_GET);

Resources