首先,我需要向你解释我在做什么:
注意:此项目正在使用codeigniter
框架
我有一个view
标题和标签:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Backend-Vihara Dharma Bhakti</title>
<link href="../../../style/style_backend.css" rel="stylesheet" type="text/css">
<link href="<?php echo base_url(); ?>style/style_backend.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/css/ui-lightness/jquery-ui-1.10.2.custom.min.css" />
<script language="javascript" type="text/javascript" src="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/js/jquery-1.9.1.js"></script>
<script language="javascript" type="text/javascript" src="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/js/jquery-ui-1.10.2.custom.min.js"></script>
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
$(function() {
$( "#tabs" ).tabs();
});
</script>
<div id="header"><h1>HEADER</h1></div>
<div id="tabs">
<ul>
<li><a href="backend/umat">Daftar Umat</a></li>
<li><a href="backend/pengurus">Daftar Pengurus</a></li>
<li><a href="backend/absensi">Absensi</a></li>
</ul>
</div>
</head>
请注意,我使用标签在标题和标签下加载不同的内容(controller
) 。
标题和标签的controller
:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Backend_home extends CI_Controller {
public function index()
{
$this->load->view('template/header_v');
}
}
然后,我有另一个view
来显示内容(我将使用第一个链接(backend/umat
)作为示例)
<body>
<link rel="stylesheet" href="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/css/ui-lightness/jquery-ui-1.10.2.custom.min.css" />
<script language="javascript" type="text/javascript" src="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/js/jquery-1.9.1.js"></script>
<script language="javascript" type="text/javascript" src="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/js/jquery-ui-1.10.2.custom.min.js"></script>
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>
<div id="form_search">
<?php echo form_open('backend/index') ?>
<!--<p>
<?php echo form_dropdown('ddl_search', $data_search, 'id="ddl_search"');?>
</p>-->
<p>
Kelas :
<?php echo form_dropdown('ddl_kelas1', $list_kelas, 'id="ddl_kelas1"');?> -
<?php echo form_dropdown('ddl_kelas2', $list_kelas, 'id="ddl_kelas2"');?>
</p>
<p>
Nama : <?php echo form_input('txt_nama');?>
Alamat : <?php echo form_input('txt_alamat');?>
Tanggal Lahir : <input type="text" id="datepicker" />
</p>
<?php echo form_submit('btn_search', 'Search');?>
<?php echo form_close(); ?>
</div>
<div>
<?php echo $table ?>
<?php echo $pagination ?>
</div>
</body>
</html>
及其controller
:
public function umat() {
//check authorization
if(!isset($_SESSION['username']))
redirect('backend');
//pagination
$config['base_url'] = site_url('/backend/umat/');
$config['total_rows'] = $this->backend_m->count_umat();
$config['per_page'] = 10;
$config['uri_segment'] = 3;
$config['full_tag_open'] = '<div id="pagination">';
$config['full_tag_close'] = '</div>';
$this->pagination->initialize($config);
$data['pagination'] = $this->pagination->create_links();
//table
$data_umat = $this->backend_m->get_umat();
$this->table->set_heading(
'No',
'Nama',
'Kelas',
'Alamat',
'Sekolah',
'Nomor Telepon',
'Keterangan'
);
$no = 1;
foreach($data_umat as $list_temp)
{
$this->table->add_row(
$no++,
$list_temp->nama,
$list_temp->kelas,
$list_temp->alamat,
$list_temp->sekolah,
$list_temp->no_tlpn,
$list_temp->keterangan
);
}
//masukkan data dari DB ke DDL
$data_kelas = $this->backend_m->get_kelas();
$data['list_kelas'][0] = 'Pilih Kelas';
foreach($data_kelas as $row)
{
$data['list_kelas'][$row->kelas_id] = $row->kelas;
}
/*$data_search = array('kelas' => 'Kelas',
'nama' => 'Nama',
'alamat' => 'Alamat',
'bulan' => 'Bulan Lahir');*/
$data['table'] = $this->table->generate();
$this->load->view('backend/umat_v', $data);
}
请注意,我在此控制器中使用分页。
主要问题
因为我在页面中使用了2个不同的view
(html),url
将跟随标题(标签)。
其url
为http://localhost/ci_gabdb/index.php/backend_home
一切正常,直到我点击我的分页索引的第二页。 url
将更改更改为http://localhost/ci_gabdb/index.php/backend/umat/10
,这会使我的网页丢失其css和标题(标签)。
屏幕截图
之前我点击任何分页(分页索引在下面,我不包括它,所以你可以看到标题和标签):( http://localhost/ci_gabdb/index.php/backend_home
)
点击后点击我的分页索引的第二页:(http://localhost/ci_gabdb/index.php/backend/umat/10
)
很抱歉很长的帖子:D如果您有任何解决方案可以帮助我,我不介意更改我的代码很多。
答案 0 :(得分:2)
您需要重新考虑如何使用模板。我也使用模板,你需要做的是将视图传递给模板。
基本示例。
模板页面:
$this->load->view('header');
$this->load->view('content',$main_content);
$this->load->view('footer');
然后在每个页面的控制器中执行此操作:
$data['main_content'] = 'umat';
$this->load->view('template',$data);
基本上你要做的就是你加载的每个页面都要加载模板文件,特定页面将通过$ data传递到该模板中的正确位置。
这样您就不必尝试从每个控制器函数传递多个视图,并且您不必担心现在的问题,即分页需要单个URL的问题。
如果我正确理解您的问题,请正确地重新加工您的网页,以便解决您的问题。