Пример создания дополнительной страницы в разделе личного кабинета. Данная страница будет доступна авторизированному пользователю во фронэнде приложения сайт Webasyst.
1) Создаем файл action и называем например siteFrontendMyOffice.action.php
../wa-apps/site/lib/actions/frontend
<?php
class siteFrontendMyOfficeAction extends waMyProfileAction
{
public function execute()
{
parent::execute();
$this->view->assign('my_nav_selected', 'office');
// Set up layout and template from theme
$this->setThemeTemplate('my.office.html');
if (!waRequest::isXMLHttpRequest()) {
$this->setLayout(new siteFrontendLayout());
$this->getResponse()->setTitle(_w('My account').' — '._w('My office'));
$this->layout->assign('breadcrumbs', $this->getBreadcrumbs());
$this->layout->assign('nofollow', true);
}
}
public static function getBreadcrumbs()
{
return array(
array(
'name' => _w('My office'),
'url' => wa()->getRouteUrl('/frontend/myOffice'),
),
);
}
}
2) Добавляем роутинг в файле routing.php
../wa-apps/site/lib/config
<?php
return array(
'login/' => 'login/',
'forgotpassword/' => 'forgotpassword/',
'signup/' => 'signup/',
'data/regions/' => 'frontend/regions',
'my/' => array(
'module' => 'frontend',
'action' => 'my',
'secure' => true,
),
'my/office/' => array(
'module' => 'frontend',
'action' => 'myOffice',
'secure' => true,
),
'<url>' => 'frontend/'
);
3) Ну и самое интерестное для нас - это создаем файл шаблона в теме дизайна my.office.html. Теперь в шаблоне можно вывести любую информацию. Страница будет доступана авторизированному пользователю по адресу вашдомен/my/office/
Ссылку на раздел можно сделать так:
<li{if $wa->globals('isMyOffice')} class="active"{/if}>
<a href="{$wa->getUrl('/frontend/myOffice')}">[`My office`]</a>
</li>
P.S. После обновления приложения Сайт файл routing.php может перезаписаться. Поэтому в него нужно будет заново внести изменения.

