修改Magento只允许登陆用户访问网站,未登录的用户提示必须登陆以后才能访问网站。 一、在文件app/design/frontend/模板目录/layout/page.xml中 <layout version="0.1.0"> <!-- Default layout, loads most of the pages --> <default translate="label" module="page"> <label>All Pages</label> <block type="page/html" name="root" output="toHtml" template="page/3columns.phtml"> 的后面加上代码:大概37行 <block type="page/html" name="user-redirect" as="user-redirect" template="page/html/redirect.phtml"/> 二、创建一个redirect.phtml用来判断用户是否登陆 在目录 app/design/frontend/模板目录/template/page/html创建redirect.phtml. redirect.phtml的内容为: <?php //Mage::getSingleton('customer/session')->setBeforeAuthUrl($this->getRequest()->getRequestUrl()); //这句注释掉 if(!Mage::getSingleton('customer/session')->isLoggedIn()) { header("Status: 301"); header('Location:'.Mage::getBaseUrl('web').'customer/account/login/') ; exit; } ?> 三、在app/design/frontend/模板目录/templatge/page下的页面文件(如果没有就是默认default或者base default)
1column.phtml <?php echo $this->getChildHtml('user-redirect'); ?>
四、考虑到登录和注册页面是不需要跳转,所以在app/design/frontend/模板目录/layout/custom.xml中 …………. </customer_account_login>
和 ………………… </customer_account_create>
加入代码 例如: <!-- Layout for customer login page --> <customer_account_login translate="label"> <label>Customer Account Login Form</label> <!-- Mage_Customer --> <remove name="user-redirect" /> <remove name="right"/> <remove name="left"/> <reference name="root"> <action method="setTemplate"><template>page/1column.phtml</template></action> </reference> <reference name="content"> <block type="customer/form_login" name="customer_form_login" template="customer/form/login.phtml"/> </reference> </customer_account_login> 清楚网站缓存,刷新试试效果如何,任何问题可以联系我 (责任编辑:好模板) |