Codeigniter:采用4种类似的方法,使它们成为1(路由和加载视图)

时间:2016-03-29 13:58:32

标签: php codeigniter

方案

  • 从数据库中的同一表中提取的4种法律协议
  • 每种类型由类型ID(查找表)区分
  • 1个法律协议控制员

我认为我必须做什么

  • 每种类型的1个方法,使用$ data variable
  • 加载自己的视图
  • $ data填充了该方法的特定数据库调用(当然是来自模型)
  • 所以:索引中的4个方法,4个单独的视图,4个单独的URL(我可以控制路由友好)

我想做什么

  • 1个接受协议类型id的索引方法(必须是可路由的,因此legalagreements / 1 = legal / termsofservice OR = / termsofservice)
  • index必须能够将$ data变量发送到视图
  • index使用switch语句
  • 1个视图(如果可能的话,因为无论正在加载什么,表中的所有列都是相同的,我会传递一个legalagreement对象)

我需要帮助的地方

  • 如何使用具有所需路由的1方法并仍将其传递$datalegalagreements/index/1 => legal/termsofservice
  • 如何使用非常独特的网址(routes['legal/(:num)'] = 'legalagreements/index/$1'调用所述方法?除了输入该网址的任何人都不知道1 = termsofservice)

1 个答案:

答案 0 :(得分:0)

以下是我一直在寻找的一般答案:

1)路线:

$ route ['desiredpagename'] => 'legalagreements / index / 1“(或2或3或4)

总共有4条路线,每种类型的可能性为1条。

2)控制器:

索引($ legal_agreement_type_id)有一个case语句,它根据类型id填充通用页面数据。重要信息来自数据库。路由使URL非常漂亮。

3)查看:

无论呈现哪个页面,所有变量都是相同的,因此1个视图为所有4个页面提供服务。