我看到许多扩展程序让您在查看产品等之前登录,但我只想限制对我通过创建新信息页面创建的某个页面的访问。这可能吗?我对 php 也不是很精通,所以请告诉我应该编辑哪些文件以及在哪里编辑。提前致谢。
问问题
2256 次
1 回答
5
尝试在index()函数声明之后直接将其添加到controller/information/information.php的顶部,并将 {ID} 替换为您要密码保护的页面的 ID(您可以从 URL 获取 ID,或者如果您有来自管理部分的 SEO URL)。
if (isset($this->request->get['information_id']) && $this->request->get['information_id'] == '{ID}') {
//If the information_id is provided and it matches the ID you wish to protect
if (!$this->customer->isLogged()) {
//If the customer is not logged in already, redirect them to the login page
//Use $this->session->data['redirect'] to redirect them back to this page after logging in
$this->session->data['redirect'] = $this->url->link('information/information', 'information_id=' . $this->request->get['information_id']);
//Do the redirect
$this->redirect($this->url->link('account/login', '', 'SSL'));
}
}
我假设在上面的例子中信息页面没有使用 SSL,如果是,你需要修改它。
如果您对这应该去哪里感到困惑,请查看controller/account/account.php - 我已经从那里获取了此代码并针对特定信息页面对其进行了修改。
于 2012-11-19T16:30:49.690 回答