在自己的表中为多个集使用相同的模板

时间:2016-12-18 18:27:45

标签: php cakephp cakephp-3.0

我正在尝试使用CakePHP,我遇到了以下情况:

吸引用户,每个用户都处于特定状态(例如,非活动,禁用,新建,......)。每个用户只有其中一种状态。

现在,除此状态外,所有用户都属于同一模型(用户)。 因此,他们在带有html表的模板中的视觉表示完全相同。

我现在要做的是将所有用户置于同一个表中的相同状态。为每个州提供不同的表格。

为每组用户重复相同的模板代码看起来很愚蠢。

在CakePHP 3中处理此问题的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

如果你真的想为每个集合使用不同的表,那么可能就是一个元素。或者只是将整个表格包裹在视图中的foreach ($states as $state)中。要么很容易就完成了。

但我建议或许你想要的是将它们全部放在带有小标题的表格中?这样,每个状态的列都将具有相同的宽度。要做到这一点,我将所有用户都放在一个查询结果中,按州(然后是名称,或任何有用的顺序)排序,然后在循环浏览它们时,检查状态是否不同而不是最后一个用户,如果是这样,输出一个额外的行<th colspan="x"><?= $user->state ?></th>或其他一些。