Yii - 映射到单个控制器/动作的多个URL

时间:2013-04-03 10:59:08

标签: php yii content-management-system url-routing

Yii的优点之一是即时创建内容管理系统和类似内容。这些系统通常重量轻且可扩展,因为它们利用Yii框架并且仅使用所需的特征,这是通过使用诸如Drupal的架构开源CMS解决方案无法实现的。

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

我如何将内容管理系统的创建提升一个档次并允许以编程方式创建页面?我想这样做,以便用户可以创建一个新页面并指定一个URL。

我想重新使用相同的控制器并根据用户的选择将其映射到不同的视图文件,但我愿意接受其他解决这个问题的方法,我认为其他人必须解决这个问题。

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

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

提前致谢。

2 个答案:

答案 0 :(得分:1)

创建名为users_articles_uris的表。

该表将包含主键和URI本身(例如my-cool-title-for-something)。 将来,它将成为:yoursite.com/my-cool-title-for-somethingyousite.com/controller/action/<users_special_uri>

.htaccess或使用Yii路由,您将:

  1. 获取URI;
  2. 在数据库中找到它;
  3. 获取文章ID;
  4. 找到文章;
  5. 打印您需要的数据。

答案 1 :(得分:0)

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

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

当然,请妥善保管:)

相关问题