如何将codeigniter的URL_TITLE值应用于URL


How to apply codeigniter's URL_TITLE value to the URL

我对ci完全陌生,

我有一个像这样的url:

http://localhost/mvc/post/prod_id/1

我希望它是:

http://localhost/mvc/post/my-best-product

到目前为止,我能够设法将所有这些路由到home/post/,并学习了segment功能。

但我的问题是我如何真正得到url_title的实际url。

我找不到关于这个主题的任何信息。我所能找到的就是如何使用url_title以及如何在ci中路由。但是他们并没有解释我们如何改变url的基本名称。

请给我指路。

解决方案的例子:

public function my_method($product_slug)
{
    $product1 = "training-for-recruitment";
    $product2 = "training-for-od";
    if($product_slug==$product1)
    {
        $this->load->view('prod1');
    }else if($product_slug==$product2)
    {
        $this->load->view('prod2');
    }else{
        show_404();
    }
}

这不是我要做的。这只是为了让其他人了解鼻涕虫的工作方法。

为您的每个产品生成唯一的标识符。在产品表中为它添加一个字段,并且每次从表中选择产品时,使用该段符而不是从主id中获取产品。

那么,你的函数就变成了:

function product($product_slug)
{
    //get product by slug from database
    //load view page
}
现在,在config/routes.php
$route['your_controller_name/(:any)'] = "your_controller_name/product/$1";

您需要这样做:

  1. 设置一些逻辑,将"my-best-product"转换为"1"
  2. 在CI中设置路由,调用您的'prod_id'控制器并传递URI变量