【发布时间】:2015-07-02 13:03:29
【问题描述】:
我正在开发一个 Silverstripe 模块模块,允许用户订阅一个网站,该网站还发送月刊。
单个组中将有 2 个级别的用户。该组中的所有用户都可以登录该网站,但某些内容仅对有效且付费订阅的用户可见。
我有一个扩展主要 Page 对象的 DataExtension。这允许我有一个布尔字段来指示仅限订阅者的内容。我的意图是添加“canView”功能,该功能将对用户的订阅状态进行必要的检查,以隐藏非活动成员的链接,当然为管理员返回 true。
class MemberPageExtension extends DataExtension {
static $db = array(
'SubscribersOnly' => 'Boolean'
);
public function canView(){
// perform subscription checks here
return false ; // result will be dependent on subscription status
}
}
不幸的是 canView() 似乎无法在 DataExtension 上工作/可用,所以现在我对如何实现这一点有点困惑。
有没有办法让页面上的 DataExtension 可以使用“can”函数,或者在不需要模板中的 if 语句的情况下产生类似的效果?
【问题讨论】:
标签: silverstripe