How to add custom page in member area

From aMember Pro Documentation
Jump to: navigation, search

Add this code to site.php file:

Am_Di::getInstance()->hook->add(Am_Event::USER_MENU, function (Am_Event $event) {
    $menu = $event->getMenu();
    $menu->addPage(
        array(
            'id' => 'my-page-id',
            'controller' => 'my-page',
            'module' => 'default',
            'label' => "My Page",
            'order' => 500
    ));
});
 
class MyPageController extends Am_Mvc_Controller // a Zend_Controller_Action successor
{
    function indexAction()
    {
        $this->getDi()->auth->requireLogin(REL_ROOT_URL . '/my-page');        
 
        $user = $this->getDi()->user; //currently authenticated customer or throws exception if no auth
 
        $this->view->title = "My Page";
        $this->view->content = "Page content";
        $this->view->display('layout.phtml');
    }
}