我正在使用 Codeigniter 创建一个网站,其中包含在线小说/电子书。小说有多个类似于硬拷贝的章节。我计划如下设计布局。
用户转到第1章,因此URL将是site.com/novel/chapter1/pageno
我计划创建一个新颖的控制器,其中包含chapter1,2 ..等功能。 chapter函数接收输入并从数据库或文本文件中获取相同的表单。我还想存储用户进度,以后可以恢复。我打算使用chapter / pageno作为用户当前停止位置的参考。
我想知道这种方法是否合适,是否可以限制功能并使其更通用。这个概念的替代方法也会有所帮助。
答案 0 :(得分:1)
是的,你可以把它更通用的路由你必须在如config目录下的routes.php中添加路由
$route['novel/(chapter-[0-9]+)/(:any)'] = 'novel/chapter/$1/$2';
现在网址为www.site.com/novel/chaper-20/60
新颖的控制器
class Novel extends CI_Controller{
function chapter($chaper_no,$page_no){
echo $chpter_no,' ',$page_no;
}
// if you don't want to pass variables to chapter function use the following
function chapter(){
$chapter_no = $this->uri->segment(2);
$page_no = $this->uri->segment(3);
}
}
如果您在您的网站注册用户,请创建一个书签链接,要求他保存该页面,如果您没有在您的网站上注册用户,您可以设置cookie以通过单击相同的书签链接保存用户进度或在每个页面加载