CMS Seite nur für Registrierte (per Template)

16.01.2013 | Magento

Diese Anleitung folgt weitgehend dem älteren Tip von Chilipepperdesign und dem Blogbeitrag auf Magentocommerce.

In der template/page/html/auth-redirect.phtml kann man auch eine Message übergeben:

 <?php
Mage::getSingleton('customer/session')->setBeforeAuthUrl($this->getRequest()->getRequestUri());  //save requested URL for later redirection
if(!Mage::getSingleton('customer/session')->isLoggedIn()) {  // if not logged in
    Mage::getSingleton('core/session')->addNotice('Bitte loggen Sie sich ein, um diese Seite zu sehen.');
    header("Status: 301");
    header('Location: '.Mage::getUrl('customer/account/login')) ;  // send to the login page
    exit;
} ?>

Sinnvoll ist es, einfach ein neues Template zu erstellen, um zugangsbeschränkte Seiten zu erstellen, z.B. 2columns-right-restricted.phtml. Dort wird als erste Zeile eingefügt:

 echo $this->getChildHtml('auth-redirect');

In das Feld  "XML für Layoutänderungen" folgenden Block einfügen:

<reference name="root">
<block type="page/html" name="auth-redirect" as="auth-redirect" template="page/html/auth-redirect.phtml"/>
</reference>