Yii-映射到单个控制器/操作的多个url


Yii - multiple urls mapped to single controller/action

Yii擅长的一件事是创建内容管理系统和类似的动态系统。这样的系统通常重量轻且可扩展,因为它们利用了Yii框架,并且只使用所需的功能,而使用Drupal等现成的开源CMS解决方案是无法实现的。

我过去也使用过它,但它的复杂程度很低。例如,用户可以编辑内容,但我有硬编码的控制器/操作/视图文件,并将内容发送到每个页面。

我该如何将我的内容管理系统创建提升到一个水平,并允许以程序方式创建页面?我想让用户创建一个新页面并指定一个URL。

我想重复使用同一个控制器,并根据用户的选择将其映射到不同的视图文件,但我对解决这个问题的其他方法持开放态度,我认为其他人必须解决这个问题。

此外,允许用户指定URL是一个重要功能,如何实现?

为基于长文本的问题道歉。我想不出如何以任何其他格式适当地捕获我的用例。

提前谢谢。

创建名为users_articles_uris的表。

该表将包含主键和URI本身(例如my-cool-title-for-something(。未来将变为:yoursite.com/my-cool-title-for-something或CCD_ 4。

通过.htaccess或Yii路由,您将:

  1. 获取URI
  2. 在数据库中查找
  3. 获取文章的id
  4. 查找文章
  5. 打印您需要的数据

常用的选项是将URI存储在数据库中。在与用户内容相同的行中,或者创建一个表来存储URI和对用户内容的id引用。

当发出请求时,只需从DB中提取请求的uri数据(因为uri不是动态的,甚至不是动态的(并显示内容(我认为WP做了类似的事情,但也做了企业系统(,

当然,缓存好:(