我正在允许用户以两种方式查看书籍:无论是“列表”视图或“网格”视图。 所以我想接收参数为网格或列表,并显示视图页面接收的参数。 但我不知道如何在笨的控制器处理这个问题。
同时,我已经有我的网页上分页。 我的网址显示http://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9
并在此我想通过像视图=网格或视图=列表中的参数,我必须接受它在我的控制器。
所以可能是我的网址是: http://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9/grid
那又怎么会接受它在我的控制器。
请帮我解决这个问题。
你为什么不这样做就像你在这里得到分页数量的方式$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
你可以这样做$viewType = ($this->uri->segment(5)) ? $this->uri->segment(5) : 'list';
$viewType = ($this->uri->segment(5)) ? $this->uri->segment(5) : 'list';
如果你想将它传递给视图$data['viewType '] = $viewType;
再后来在调用视图的部分$this->load->view('commonfiles/booksview',$data);
,你既可以已经创建了2个独立的观点一个列表,一个用于网格视图并调用相应的一个依赖于$viewType
,或在一个视图文件既代码,并从中选择其与显示if
语句比较$data['viewType']
。 我建议第一个选项。
此外,在笨,你可以通过URI段作为函数的参数与他们在URI的顺序,这样的例子function books($hasPagination, $paginationNumber, $viewType = 'list'){
将得到此URI参数http://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9/grid
并且这些值将被分配这样的: $hasPagination = 'pgn'; $paginationNumber = 9; $viewType = 'grid';
$hasPagination = 'pgn'; $paginationNumber = 9; $viewType = 'grid';
您也可以通过GET参数照常viewallbooks/books?pagination=true&pgn=9&viewType=list
,然后处理他们中的每一个与内置在这样功能$viewType = $this->input->get('viewType')
$pgn = $this->input->get('pgn')
等等。