0

我有一个带有 CMS 的 CI 应用程序,我一直想知道如何让用户控制他们将发布的博客文章的 url。我了解 routes.php 文件,但我只是想知道如何允许用户将 url 更改为他们想要的东西?我以前没有这样做过,所以我不确定如何在 CI 中做到这一点。

提前致谢

4

2 回答 2

1

我怀疑您的意思是诸如 wordpress 的帖子标题之类的东西,因此标题成为 URL 的一部分?

您需要在 application/config/routes.php 中为控制器设置自定义路由,例如

$route['posts/(:any)'] = "posts/posts_method/$1";

Posts_method 是指使用给定变量搜索帖子的方法。

于 2012-06-21T17:00:49.070 回答
0

我认为最好的方法是使用 URL Slug 来引用文章。您可以插入文章的标题,然后为其设置 slug,这样当用户单击 slug 时,您应该使用 slug 在数据库中运行查询来搜索文章。

表格示例:

id_article
title
body
slug

示例表格:

Title: <input type="text" name="title">
Body: <textarea name="body"></textarea>
Slug: <input type="text" name="slug">

让我们假设这篇文章的条目:

Title: Hi, this is my first post!
Body: Wow i'm so happy
slug: my-awsome-post

当您创建指向帖子的链接时,您应该使用 slug 作为 id,例如:

<a href="http://www.example.com/blog/show/my-awsome-post">Read more</a>

当您在模型中运行查询时,您可以使用 where clausole slug:

$this->db->get_where('table', array('slug'=>$slug));
于 2012-06-21T16:57:57.340 回答