【问题标题】:Yii - one controller multiple urlsYii - 一个控制器多个 url
【发布时间】:2012-07-16 14:15:46
【问题描述】:

我正在尝试创建两个非常相似并且可以共享同一个数据库表的 Yii 模型。一个是“问题”,一个是“文章”。他们都有一个标题、正文和作者。 “问题”在表格中有一个额外的字段,“文章”不需要与之交互,称为 follow_up。

大多数方法和验证是相同的,但有一些细微的差异可以通过 if 语句轻松完成。我看到的主要问题是 URL,我想要单独的 URL,例如 site.com/question 和 site.com/article,但让它们都与相同的模型、控制器和视图交互。

如何做到这一点?

【问题讨论】:

    标签: yii


    【解决方案1】:

    使用 Yii 配置中的urlManager 组件设置 /article 和 /question 的路由到同一个控制器,然后使用不同的操作或不同的参数来区分两者。由于您说它们几乎相同,因此我建议使用不同的参数和单个操作,如下所示:

    array(
      ...
      'components' => array(
        ...
        'urlManager' => array(
          'question/<\d+:id>' => 'mycontroller/myaction/type/question/id/<id>',
          'article/<\d+:id>' => 'mycontroller/myaction/type/article/id/<id>',
        ),
      ),
    );
    

    当然,您必须根据需要对其进行修改,但这是一般设置。在这里查看更多信息:http://www.yiiframework.com/doc/guide/1.1/en/topics.url

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多