我使用Codeigniter和包含不同书籍域的本地数据库制作了菜单。我能够显示所有域名并直观地建立菜单,但是我真的不知道如何使它们可单击,并且在单击后仅显示属于所单击域的书籍。
例如,如果有人单击域X,我希望将用户重定向到website.com/X并在X域中显示书籍。
我不知道从哪里开始,以及如何实际去做。我并不是要有人为我编写代码,而是要向我解释为实现此目的应该采取的步骤。
这是一些我认为相关的代码。
控制器:
class Menu extends MX_Controller{
function index() {
$this->load->model('menu_model');
$data['items'] = $this->menu_model->domenii();
$this->load->view('menu', $data);
}
}
模型:
class Menu_model extends CI_Model{
function domenii() {
$query = $this->db->get('domenii');
return $query->result();
}
}
视图(引导层):
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand col-lg-6 col-md-6 col-xs-6" href="<?php echo base_url(); ?>" title="Librarie">Librarie</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<?php foreach ($items as $item): ?>
<li><a href=""><?php echo $item->nume_domeniu; ?></a></li>
<?php endforeach; ?>
<li class="custom-li">
<?php echo form_open('search/cauta'); ?>
<?php echo form_input(array('name'=>'element', 'class'=>'form-control', 'placeholder' => 'Cautare',)); ?>
<?php echo form_submit(array('name'=>'search_submit','value' => 'Search', 'class'=>' hidden')); ?>
<?php echo form_close(); ?> </li> </ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
谢谢!
如果我理解正确,那么我将使用Routes并将每个请求转发给控制器。像这样;
$route['(:any)'] = 'controller/method/$1';
现在,控制器方法;
function method($name = null)
{
if(is_null($name))
{
echo 'no $name found...';
}
else
{
// Name was found, make sure it exists
if ($item = $this->model->check_name($name))
{
// Yes the name exists
var_dump($item);
}
else
{
show_error('invalid $name');
}
}
}
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句