我想添加一些站点管理员可以更改的设置。
想到的第一个想法是创建一个N2页面,叫做settings,这个页面的每个属性都是一个单独的设置,每次需要获取设置都得搜索第一个设置类型的N2页面。
这种方法的问题是我无法控制管理员可以添加多少个设置页面,并且可能他添加了多个。
于是我想到了另一个想法。创建一个独立的控制器和一个名为settings的类,并有一个对应的数据库表。
有没有人有更好的想法?
在起始页上添加属性。您将始终只有一个起始页。
我会使用 Root 页面上的 Settings 选项卡。好处 - 您可以通过 N2.Find.Root 立即获得它,它将适用于您可能拥有的所有起始页面。请注意,在 N2 的最新推荐设置中,每种语言都有一个 StartPage,因此您的站点设置应该绝对高于这些设置,适用于所有语言分支。
恕我直言,单独的表格对于合理数量的设置来说太过分了。
我认为您的第二个想法可能是最好的 - 自定义控制器和表格。也就是说,如果“设置”与 N2 本身无关。如果是这样,那么我猜 N2 可能提供了一种方法来做到这一点。
但如果你想提供给用户的设置与 N2 的工作方式无关,那我就不用担心了,只需创建一个独立的控制器、类和相应的数据库表。