1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-26 03:30:48 +03:00

Новая система навигации по контенту для шаблонов

Навигация по контенту вынесена в переменую $layoutNav, приемущества этого подхода:

* Код отвечающий за оформление навигации по контенту находится в одном месте, что упрощает его модификацию
* Плагины смогут добавлять свои страницы с навигацией которая внешне не отличается от навигации шаблона, что уменьшает объем работы при адаптации плагина под шаблон

Подробней про навигацию можно прочитать в документации - https://github.com/livestreet/livestreet/wiki/%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F
This commit is contained in:
Denis Shakhov 2016-07-02 23:22:41 +07:00
parent d95c3df9e5
commit 05bbd5d232
43 changed files with 283 additions and 313 deletions

View file

@ -6,7 +6,6 @@
},
"templates": {
"ajax": "sort.ajax.tpl",
"timespan": "sort.timespan.tpl",
"sort": "sort.ajax.tpl"
},
"styles": {

View file

@ -1,19 +0,0 @@
{**
* Выпадающее меню выбора временного периода (за 24 часа, за месяц и т.д.)
*}
{component_define_params params=[ 'periodSelectCurrent' ]}
{if $periodSelectCurrent}
{component 'dropdown'
classes = 'js-dropdown-default'
name = 'sort_by_date'
text = {lang "blog.menu.top_period_$periodSelectCurrent"}
menu = [
[ 'name' => '1', 'url' => "{$periodSelectRoot}?period=1", 'text' => {lang 'blog.menu.top_period_1'} ],
[ 'name' => '7', 'url' => "{$periodSelectRoot}?period=7", 'text' => {lang 'blog.menu.top_period_7'} ],
[ 'name' => '30', 'url' => "{$periodSelectRoot}?period=30", 'text' => {lang 'blog.menu.top_period_30'} ],
[ 'name' => 'all', 'url' => "{$periodSelectRoot}?period=all", 'text' => {lang 'blog.menu.top_period_all'} ]
]
params = $params}
{/if}

View file

@ -3,17 +3,9 @@
*
* @param array $blogCategories Список категорий блогов
* @param object $blogEdit Блог, передается в случае если блог редактируется
*
* TODO: Вынести 'rangelength' в конфиг
*}
{extends 'layouts/layout.base.tpl'}
{block 'layout_options' append}
{if $sEvent == 'edit'}
{$sNav = 'blog.edit'}
{/if}
{/block}
{extends 'layouts/layout.blog.edit.tpl'}
{block 'layout_page_title'}
{if $sEvent == 'add'}

View file

@ -6,11 +6,7 @@
* @param array $blogUsersInvited Список приглашенных пользователей, передается в случае если блог закрытый
*}
{extends 'layouts/layout.base.tpl'}
{block 'layout_options' append}
{$sNav = 'blog.edit'}
{/block}
{extends 'layouts/layout.blog.edit.tpl'}
{block 'layout_page_title'}
{$aLang.blog.admin.title}: <a href="{$blogEdit->getUrlFull()}">{$blogEdit->getTitle()|escape}</a>

View file

@ -15,11 +15,7 @@
* @param integer $countBlogAdministrators Кол-во администраторов
*}
{extends 'layouts/layout.base.tpl'}
{block 'layout_options' append}
{$sNav = 'topics.sub'}
{/block}
{extends 'layouts/layout.topics.tpl'}
{block 'layout_content_header'}
{component 'blog' blog=$blog blogs=$blogs}
@ -34,7 +30,5 @@
{* Список топиков *}
{if $isPrivateBlog}
{component 'alert' text=$aLang.blog.alerts.private mods='error'}
{else}
{component 'topic' template='list' topics=$topics paging=$paging}
{/if}
{/block}

View file

@ -7,12 +7,4 @@
* @param string $periodSelectRoot
*}
{extends 'layouts/layout.base.tpl'}
{block 'layout_options' append}
{$sNav = 'topics'}
{/block}
{block 'layout_content'}
{component 'topic' template='list' topics=$topics paging=$paging}
{/block}
{extends 'layouts/layout.topics.tpl'}

View file

@ -7,22 +7,8 @@
* @parama integer $blogId
*}
{extends 'layouts/layout.base.tpl'}
{block 'layout_options' append}
{if $sEvent == 'add'}
{$sNav = 'create'}
{/if}
{/block}
{block 'layout_page_title'}
{if $sEvent == 'add'}
{$aLang.topic.add.title.add}
{else}
{$aLang.topic.add.title.edit}
{/if}
{/block}
{extends 'layouts/layout.content.form.tpl'}
{block 'layout_content'}
{component 'topic' template='add-type' topic=$topicEdit type=$topicType blogs=$blogsAllow blogId=$blogId skipBlogs=$skipBlogs}
{component 'topic.add-type' topic=$topicEdit type=$topicType blogs=$blogsAllow blogId=$blogId skipBlogs=$skipBlogs}
{/block}

View file

@ -5,16 +5,12 @@
* @parama array $paging
*}
{extends 'layouts/layout.base.tpl'}
{block 'layout_options' append}
{$sNav = 'create'}
{/block}
{extends 'layouts/layout.content.form.tpl'}
{block 'layout_page_title'}
{$aLang.topic.add.title.add}
{/block}
{block 'layout_content'}
{component 'topic' template='list' topics=$topics paging=$paging}
{component 'topic.list' topics=$topics paging=$paging}
{/block}

View file

@ -5,12 +5,4 @@
* @parama array $paging
*}
{extends 'layouts/layout.base.tpl'}
{block 'layout_options' append}
{$sNav = 'topics'}
{/block}
{block 'layout_content'}
{component 'topic' template='list' topics=$topics paging=$paging}
{/block}
{extends 'layouts/layout.index.tpl'}

View file

@ -5,13 +5,12 @@
* @param array $paging
*}
{extends 'layouts/layout.user.tpl'}
{extends 'layouts/layout.user.created.tpl'}
{block 'layout_user_page_title'}
{lang name='user.publications.title'}
{lang 'user.publications.title'}
{/block}
{block 'layout_content' append}
{include 'navs/nav.user.created.tpl'}
{component 'comment' template='list' comments=$comments paging=$paging classes='js-topic-comments-list'}
{component 'comment.list' comments=$comments paging=$paging classes='js-topic-comments-list'}
{/block}

View file

@ -5,13 +5,12 @@
* @param array $paging
*}
{extends 'layouts/layout.user.tpl'}
{extends 'layouts/layout.user.created.tpl'}
{block 'layout_user_page_title'}
{lang 'user.publications.title'}
{/block}
{block 'layout_content' append}
{include 'navs/nav.user.created.tpl'}
{component 'user' template='list' users=$notesUsers pagination=$paging}
{component 'user.list' users=$notesUsers pagination=$paging}
{/block}

View file

@ -5,13 +5,12 @@
* @param array $paging
*}
{extends 'layouts/layout.user.tpl'}
{extends 'layouts/layout.user.created.tpl'}
{block 'layout_user_page_title'}
{lang name='user.publications.title'}
{lang 'user.publications.title'}
{/block}
{block 'layout_content' append}
{include 'navs/nav.user.created.tpl'}
{component 'topic' template='list' topics=$topics paging=$paging}
{component 'topic.list' topics=$topics paging=$paging}
{/block}

View file

@ -5,13 +5,12 @@
* @param array $paging
*}
{extends 'layouts/layout.user.tpl'}
{extends 'layouts/layout.user.favourite.tpl'}
{block 'layout_user_page_title'}
{lang name='user.favourites.title'}
{lang 'user.favourites.title'}
{/block}
{block 'layout_content' append}
{include 'navs/nav.user.favourite.tpl'}
{component 'comment' template='list' comments=$comments paging=$paging classes='js-topic-comments-list'}
{component 'comment.list' comments=$comments paging=$paging classes='js-topic-comments-list'}
{/block}

View file

@ -6,15 +6,13 @@
* @param array $activeFavouriteTag
*}
{extends 'layouts/layout.user.tpl'}
{extends 'layouts/layout.user.favourite.tpl'}
{block 'layout_user_page_title'}
{lang name='user.favourites.title'}
{lang 'user.favourites.title'}
{/block}
{block 'layout_content' append}
{include 'navs/nav.user.favourite.tpl'}
{* Блок с тегами избранного *}
{if $oUserCurrent && $oUserCurrent->getId() == $oUserProfile->getId()}
{insert name='block' block='tagsPersonalTopic' params=[
@ -23,5 +21,5 @@
]}
{/if}
{component 'topic' template='list' topics=$topics paging=$paging}
{component 'topic.list' topics=$topics paging=$paging}
{/block}

View file

@ -14,10 +14,22 @@
{$aLang.search.search}
{/block}
{block 'layout_content'}
{component 'search' template='main' searchType=$searchType}
{include 'navs/nav.search.tpl'}
{block 'layout_content_header' prepend}
{component 'search.main' searchType=$searchType}
{/block}
{block 'layout_options' append}
{$layoutNav = [
name => 'search',
activeItem => $searchType,
items => [
[ 'name' => 'topics', 'url' => "{router page='search/topics'}?q={$_aRequest.q}", 'text' => $aLang.search.result.topics, 'count' => $typeCounts.topics ],
[ 'name' => 'comments', 'url' => "{router page='search/comments'}?q={$_aRequest.q}", 'text' => $aLang.search.result.comments, 'count' => $typeCounts.comments ]
]
]}
{/block}
{block 'layout_content'}
{if $resultItems}
{if $searchType == 'topics'}
{component 'topic' template='list' topics=$resultItems paging=$paging}

View file

@ -5,15 +5,7 @@
* @param integer $activityEventsAllCount
*}
{extends 'layouts/layout.base.tpl'}
{block 'layout_options' append}
{$sNav = 'activity'}
{/block}
{block 'layout_page_title'}
{$aLang.activity.title}
{/block}
{extends 'layouts/layout.activity.tpl'}
{block 'layout_content'}
{component 'activity' events=$activityEvents count=$activityEventsAllCount classes='js-activity--all'}

View file

@ -5,15 +5,7 @@
* @param integer $activityEventsAllCount
*}
{extends 'layouts/layout.base.tpl'}
{block 'layout_options' append}
{$sNav = 'activity'}
{/block}
{block 'layout_page_title'}
{$aLang.activity.title}
{/block}
{extends 'layouts/layout.activity.tpl'}
{block 'layout_content'}
{component 'activity' events=$activityEvents count=$activityEventsAllCount classes='js-activity--personal'}

View file

@ -8,5 +8,5 @@
{extends 'layouts/layout.user.messages.tpl'}
{block 'layout_content'}
{component 'talk' template='list.tpl' talks=$talks paging=$paging}
{component 'talk.list' talks=$talks paging=$paging}
{/block}

View file

@ -5,12 +5,4 @@
* @param array $paging
*}
{extends 'layouts/layout.base.tpl'}
{block 'layout_options' append}
{$sNav = 'topics'}
{/block}
{block 'layout_content'}
{component 'topic' template='list' topics=$topics paging=$paging}
{/block}
{extends 'layouts/layout.index.tpl'}

View file

@ -49,6 +49,19 @@ jQuery(document).ready(function($){
});
/**
* Навигация по контенту
*/
$('.ls-nav--root.ls-nav--pills > .ls-nav-item--has-children').lsDropdown({
selectors: {
toggle: '> .ls-nav-item-link',
text: '> .ls-nav-item-link > .ls-nav-item-text',
menu: '> .ls-nav--sub'
},
selectable: true
});
/**
* Подтверждение удаления
*/

View file

@ -0,0 +1,20 @@
{**
* Активность
*}
{extends './layout.base.tpl'}
{block 'layout_options' append}
{$layoutNav = [[
hook => 'activity',
activeItem => $sMenuItemSelect,
items => [
[ 'name' => 'user', 'url' => "{router page='stream'}personal/", 'text' => $aLang.activity.nav.personal, 'is_enabled' => !! $oUserCurrent ],
[ 'name' => 'all', 'url' => "{router page='stream'}all/", 'text' => $aLang.activity.nav.all ]
]
]]}
{/block}
{block 'layout_page_title'}
{$aLang.activity.title}
{/block}

View file

@ -1,5 +1,5 @@
{**
* Основной лэйаут
* Основной лэйаут, который наследуют все остальные лэйауты
*
* @param boolean $layoutShowSidebar Показывать сайдбар или нет, сайдбар не будет выводится если он не содержит блоков
* @param string $layoutNavContent Название навигации
@ -7,7 +7,7 @@
* @param string $layoutShowSystemMessages Показывать системные уведомления или нет
*}
{extends 'Component@layout.layout'}
{extends 'component@layout.layout'}
{block 'layout_options' append}
{$layoutShowSidebar = $layoutShowSidebar|default:true}
@ -78,7 +78,12 @@
* Основная навигация
*}
<nav class="ls-grid-row layout-nav">
{include 'navs/nav.main.tpl'}
{component 'nav' hook='main' activeItem=$sMenuHeadItemSelect mods='main' items=[
[ 'text' => $aLang.topic.topics, 'url' => {router page='/'}, 'name' => 'blog' ],
[ 'text' => $aLang.blog.blogs, 'url' => {router page='blogs'}, 'name' => 'blogs' ],
[ 'text' => $aLang.user.users, 'url' => {router page='people'}, 'name' => 'people' ],
[ 'text' => $aLang.activity.title, 'url' => {router page='stream'}, 'name' => 'stream' ]
]}
</nav>
@ -106,17 +111,26 @@
{block 'layout_content_header'}
{* Навигация *}
{if $sNav}
{if in_array($sNav, $aMenuContainers)}
{$_navContent = $aMenuFetch.$sNav}
{if $layoutNav}
{$_layoutNavContent = ""}
{if is_array($layoutNav)}
{foreach $layoutNav as $layoutNavItem}
{if is_array($layoutNavItem)}
{component 'nav' mods='pills' params=$layoutNavItem assign=_layoutNavItemContent}
{$_layoutNavContent = "$_layoutNavContent $_layoutNavItemContent"}
{else}
{$_layoutNavContent = "$_layoutNavContent $layoutNavItem"}
{/if}
{/foreach}
{else}
{include "{$sNavPath}navs/nav.$sNav.tpl" assign=_navContent}
{$_layoutNavContent = $layoutNav}
{/if}
{* Проверяем наличие вывода на случай если меню с одним пунктом автоматом скрывается *}
{if $_navContent|strip:''}
{if $_layoutNavContent|strip:''}
<div class="ls-nav-group">
{$_navContent}
{$_layoutNavContent}
</div>
{/if}
{/if}

View file

@ -0,0 +1,18 @@
{**
* Форма ред-ия блога
*}
{extends './layout.base.tpl'}
{block 'layout_options' append}
{if $sEvent != 'add'}
{$layoutNav = [[
name => 'blog_edit',
activeItem => $sMenuItemSelect,
items => [
[ 'name' => 'profile', 'url' => "{router page='blog'}edit/{$blogEdit->getId()}/", 'text' => $aLang.blog.admin.nav.profile ],
[ 'name' => 'admin', 'url' => "{router page='blog'}admin/{$blogEdit->getId()}/", 'text' => $aLang.blog.admin.nav.users ]
]
]]}
{/if}
{/block}

View file

@ -0,0 +1,40 @@
{**
* Страница добавления контента
*}
{extends './layout.base.tpl'}
{block 'layout_options' append}
{if $sEvent != 'edit'}
{$_items = []}
{* Формируем список пунктов *}
{$_topicTypes = $LS->Topic_GetTopicTypes()}
{foreach $_topicTypes as $type}
{$_items[] = [ 'name' => $type->getCode(), 'url' => $type->getUrlForAdd(), 'text' => $type->getName() ]}
{/foreach}
{* Пункт "Черновики" *}
{$_items[] = [
'name' => 'drafts',
'url' => "{router page='content'}drafts/",
'text' => $aLang.topic.drafts,
'count' => $iUserCurrentCountTopicDraft
]}
{$layoutNav = [[
name => 'content_form',
activeItem => $sMenuSubItemSelect,
items => $_items
]]}
{/if}
{/block}
{block 'layout_page_title'}
{if $sEvent == 'add'}
{$aLang.topic.add.title.add}
{else}
{$aLang.topic.add.title.edit}
{/if}
{/block}

View file

@ -0,0 +1,18 @@
{**
* Главная страница
*}
{extends './layout.topics.tpl'}
{block 'layout_options' prepend}
{* Все / Лента *}
{$layoutNav = [[
name => 'topics',
activeItem => $sMenuItemSelect,
showSingle => false,
items => [
[ 'name' => 'index', 'url' => {router page='/'}, 'text' => {lang name='blog.menu.all'}, 'count' => $iCountTopicsNew ],
[ 'name' => 'feed', 'url' => {router page='feed'}, 'text' => $aLang.feed.title, 'is_enabled' => !! $oUserCurrent ]
]
]]}
{/block}

View file

@ -0,0 +1,52 @@
{**
* Список топиков
*}
{extends './layout.base.tpl'}
{block 'layout_options' append}
{* Меню фильтрации топиков *}
{if $sNavTopicsSubUrl}
{if ! isset($layoutNav)}
{$layoutNav = []}
{/if}
{$layoutNav[] = [
name => 'topics_sub',
activeItem => $sMenuSubItemSelect,
items => [
[ 'name' => 'good', 'url' => $sNavTopicsSubUrl, 'text' => {lang name='blog.menu.all_good'} ],
[ 'name' => 'new', 'url' => "{$sNavTopicsSubUrl}newall/", 'text' => {lang name='blog.menu.all_new'} ],
[ 'name' => 'discussed', 'url' => "{$sNavTopicsSubUrl}discussed/", 'text' => {lang name='blog.menu.all_discussed'} ],
[ 'name' => 'top', 'url' => "{$sNavTopicsSubUrl}top/", 'text' => {lang name='blog.menu.all_top'} ]
]
]}
{if $periodSelectCurrent}
{* Фильтр по времени *}
{$layoutNav[] = [
name => 'topics_sub_timespan',
activeItem => $periodSelectCurrent,
items => [
[
'name' => 'good',
'text' => {lang name='blog.menu.all_good'},
'menu' => [
activeItem => $periodSelectCurrent,
items => [
[ 'name' => '1', 'url' => "{$periodSelectRoot}?period=1", 'text' => {lang 'blog.menu.top_period_1'} ],
[ 'name' => '7', 'url' => "{$periodSelectRoot}?period=7", 'text' => {lang 'blog.menu.top_period_7'} ],
[ 'name' => '30', 'url' => "{$periodSelectRoot}?period=30", 'text' => {lang 'blog.menu.top_period_30'} ],
[ 'name' => 'all', 'url' => "{$periodSelectRoot}?period=all", 'text' => {lang 'blog.menu.top_period_all'} ]
]
]
]
]
]}
{/if}
{/if}
{/block}
{block 'layout_content'}
{component 'topic.list' topics=$topics paging=$paging}
{/block}

View file

@ -0,0 +1,18 @@
{**
* Публикации пользователя
*}
{extends './layout.user.tpl'}
{block 'layout_options' append}
{$layoutNav = [[
name => 'profile_created',
hookParams => [ 'oUserProfile' => $oUserProfile ],
activeItem => $sMenuSubItemSelect,
items => [
[ 'name' => 'topics', 'url' => "{$oUserProfile->getUserWebPath()}created/topics/", 'text' => {lang name='user.publications.nav.topics'}, 'count' => $iCountTopicUser ],
[ 'name' => 'comments', 'url' => "{$oUserProfile->getUserWebPath()}created/comments/", 'text' => {lang name='user.publications.nav.comments'}, 'count' => $iCountCommentUser ],
[ 'name' => 'notes', 'url' => "{$oUserProfile->getUserWebPath()}created/notes/", 'text' => {lang name='user.publications.nav.notes'}, 'count' => $iCountNoteUser, 'is_enabled' => $oUserCurrent && $oUserCurrent->getId() == $oUserProfile->getId() ]
]
]]}
{/block}

View file

@ -0,0 +1,17 @@
{**
* Избранное пользователя
*}
{extends './layout.user.tpl'}
{block 'layout_options' append}
{$layoutNav = [[
name => 'profile_created',
hookParams => [ 'oUserProfile' => $oUserProfile ],
activeItem => $sMenuSubItemSelect,
items => [
[ 'name' => 'topics', 'text' => {lang name='user.favourites.nav.topics'}, 'url' => "{$oUserProfile->getUserWebPath()}favourites/topics/", 'count' => $iCountTopicFavourite ],
[ 'name' => 'comments', 'text' => {lang name='user.favourites.nav.comments'}, 'url' => "{$oUserProfile->getUserWebPath()}favourites/comments/", 'count' => $iCountCommentFavourite ]
]
]]}
{/block}

View file

@ -5,7 +5,17 @@
{extends './layout.user.tpl'}
{block 'layout_options' append}
{$sNav = 'messages'}
{$layoutNav = [[
name => 'talk',
activeItem => $sMenuSubItemSelect,
items => [
[ 'name' => 'inbox', 'url' => "{router page='talk'}", 'text' => $aLang.talk.nav.inbox ],
[ 'name' => 'new', 'url' => "{router page='talk'}inbox/new/", 'text' => $aLang.talk.nav.new, 'count' => $iUserCurrentCountTalkNew, 'is_enabled' => $iUserCurrentCountTalkNew ],
[ 'name' => 'add', 'url' => "{router page='talk'}add/", 'text' => $aLang.talk.nav.add ],
[ 'name' => 'favourites', 'url' => "{router page='talk'}favourites/", 'text' => $aLang.talk.nav.favourites, 'count' => $iCountTalkFavourite ],
[ 'name' => 'blacklist', 'url' => "{router page='talk'}blacklist/", 'text' => $aLang.talk.nav.blacklist ]
]
]]}
{/block}
{block 'layout_user_page_title'}

View file

@ -5,7 +5,16 @@
{extends './layout.user.tpl'}
{block 'layout_options' append}
{$sNav = 'settings'}
{$layoutNav = [[
name => 'settings',
activeItem => $sMenuSubItemSelect,
items => [
[ 'url' => "{router page='settings'}profile/", 'text' => {lang name='user.settings.nav.profile'}, 'name' => 'profile' ],
[ 'url' => "{router page='settings'}account/", 'text' => {lang name='user.settings.nav.account'}, 'name' => 'account' ],
[ 'url' => "{router page='settings'}tuning/", 'text' => {lang name='user.settings.nav.tuning'}, 'name' => 'tuning' ],
[ 'url' => "{router page='settings'}invite/", 'text' => {lang name='user.settings.nav.invites'}, 'name' => 'invite' ]
]
]]}
{/block}
{block 'layout_user_page_title'}

View file

@ -1,12 +0,0 @@
{**
* Навигация на странице активности
*}
{component 'nav'
name = 'activity'
activeItem = $sMenuItemSelect
mods = 'pills'
items = [
[ 'name' => 'user', 'url' => "{router page='stream'}personal/", 'text' => $aLang.activity.nav.personal, 'is_enabled' => !! $oUserCurrent ],
[ 'name' => 'all', 'url' => "{router page='stream'}all/", 'text' => $aLang.activity.nav.all ]
]}

View file

@ -1,12 +0,0 @@
{**
* Навгиация редактирования блога
*}
{component 'nav'
name = 'blog_edit'
activeItem = $sMenuItemSelect
mods = 'pills'
items = [
[ 'name' => 'profile', 'url' => "{router page='blog'}edit/{$blogEdit->getId()}/", 'text' => $aLang.blog.admin.nav.profile ],
[ 'name' => 'admin', 'url' => "{router page='blog'}admin/{$blogEdit->getId()}/", 'text' => $aLang.blog.admin.nav.users ]
]}

View file

@ -1,26 +0,0 @@
{**
* Навгиация создания топика
*}
{$items = []}
{* Формируем список пунктов *}
{$topicTypes = $LS->Topic_GetTopicTypes()}
{foreach $topicTypes as $type}
{$items[] = [ 'name' => $type->getCode(), 'url' => $type->getUrlForAdd(), 'text' => $type->getName() ]}
{/foreach}
{* Пункт "Черновики" *}
{$items[] = [
'name' => 'drafts',
'url' => "{router page='content'}drafts/",
'text' => $aLang.topic.drafts,
'count' => $iUserCurrentCountTopicDraft
]}
{component 'nav'
name = 'create'
activeItem = $sMenuSubItemSelect
mods = 'pills'
items = $items}

View file

@ -1,6 +0,0 @@
{component 'nav' name='main' activeItem=$sMenuHeadItemSelect mods='main' items=[
[ 'text' => $aLang.topic.topics, 'url' => {router page='/'}, 'name' => 'blog' ],
[ 'text' => $aLang.blog.blogs, 'url' => {router page='blogs'}, 'name' => 'blogs' ],
[ 'text' => $aLang.user.users, 'url' => {router page='people'}, 'name' => 'people' ],
[ 'text' => $aLang.activity.title, 'url' => {router page='stream'}, 'name' => 'stream' ]
]}

View file

@ -1,15 +0,0 @@
{**
* Навигация на странице личных сообщений
*}
{component 'nav'
name = 'talk'
activeItem = $sMenuSubItemSelect
mods = 'pills'
items = [
[ 'name' => 'inbox', 'url' => "{router page='talk'}", 'text' => $aLang.talk.nav.inbox ],
[ 'name' => 'new', 'url' => "{router page='talk'}inbox/new/", 'text' => $aLang.talk.nav.new, 'count' => $iUserCurrentCountTalkNew, 'is_enabled' => $iUserCurrentCountTalkNew ],
[ 'name' => 'add', 'url' => "{router page='talk'}add/", 'text' => $aLang.talk.nav.add ],
[ 'name' => 'favourites', 'url' => "{router page='talk'}favourites/", 'text' => $aLang.talk.nav.favourites, 'count' => $iCountTalkFavourite ],
[ 'name' => 'blacklist', 'url' => "{router page='talk'}blacklist/", 'text' => $aLang.talk.nav.blacklist ]
]}

View file

@ -1,12 +0,0 @@
{**
* Навигация по результатам поиска
*}
{component 'nav'
name = 'search'
activeItem = $searchType
mods = 'pills'
items = [
[ 'name' => 'topics', 'url' => "{router page='search/topics'}?q={$_aRequest.q}", 'text' => $aLang.search.result.topics, 'count' => $typeCounts.topics ],
[ 'name' => 'comments', 'url' => "{router page='search/comments'}?q={$_aRequest.q}", 'text' => $aLang.search.result.comments, 'count' => $typeCounts.comments ]
]}

View file

@ -1,14 +0,0 @@
{**
* Навигация на странице настроек
*}
{component 'nav'
name = 'settings'
activeItem = $sMenuSubItemSelect
mods = 'pills'
items = [
[ 'url' => "{router page='settings'}profile/", 'text' => {lang name='user.settings.nav.profile'}, 'name' => 'profile' ],
[ 'url' => "{router page='settings'}account/", 'text' => {lang name='user.settings.nav.account'}, 'name' => 'account' ],
[ 'url' => "{router page='settings'}tuning/", 'text' => {lang name='user.settings.nav.tuning'}, 'name' => 'tuning' ],
[ 'url' => "{router page='settings'}invite/", 'text' => {lang name='user.settings.nav.invites'}, 'name' => 'invite' ]
]}

View file

@ -1,21 +0,0 @@
{**
* Саб-навигация по топикам (Интересные, новые и т.д.)
*}
{if $sNavTopicsSubUrl}
{component 'nav'
name = 'topics_sub'
activeItem = $sMenuSubItemSelect
mods = 'pills'
items = [
[ 'name' => 'good', 'url' => $sNavTopicsSubUrl, 'text' => {lang name='blog.menu.all_good'} ],
[ 'name' => 'new', 'url' => "{$sNavTopicsSubUrl}newall/", 'text' => {lang name='blog.menu.all_new'}, 'title' => {lang name='blog.menu.top_period_all'}, 'count' => $iCountTopicsSubNew ],
[ 'name' => 'new', 'url' => "{$sNavTopicsSubUrl}new/", 'text' => "+$iCountTopicsSubNew", 'title' => {lang name='blog.menu.top_period_1'}, 'is_enabled' => $iCountTopicsSubNew ],
[ 'name' => 'discussed', 'url' => "{$sNavTopicsSubUrl}discussed/", 'text' => {lang name='blog.menu.all_discussed'} ],
[ 'name' => 'top', 'url' => "{$sNavTopicsSubUrl}top/", 'text' => {lang name='blog.menu.all_top'} ]
]}
{component 'sort' template='timespan' activeItem=$periodSelectCurrent}
{/if}
{hook run='nav_topics_sub_after' sMenuSubItemSelect=$sMenuSubItemSelect sNavTopicsSubUrl=$sNavTopicsSubUrl}

View file

@ -1,14 +0,0 @@
{**
* Навигация по топикам
*}
{component 'nav'
name = 'topics'
activeItem = $sMenuItemSelect
mods = 'pills'
items = [
[ 'name' => 'index', 'url' => {router page='/'}, 'text' => {lang name='blog.menu.all'}, 'count' => $iCountTopicsNew ],
[ 'name' => 'feed', 'url' => {router page='feed'}, 'text' => $aLang.feed.title, 'is_enabled' => !! $oUserCurrent ]
]}
{include 'navs/nav.topics.sub.tpl'}

View file

@ -1,14 +0,0 @@
{**
* Навигация в профиле пользователя в разделе "Публикации"
*}
{component 'nav'
name = 'profile_created'
activeItem = $sMenuSubItemSelect
mods = 'pills'
hookArguments = [ 'oUserProfile' => $oUserProfile ]
items = [
[ 'name' => 'topics', 'url' => "{$oUserProfile->getUserWebPath()}created/topics/", 'text' => {lang name='user.publications.nav.topics'}, 'count' => $iCountTopicUser ],
[ 'name' => 'comments', 'url' => "{$oUserProfile->getUserWebPath()}created/comments/", 'text' => {lang name='user.publications.nav.comments'}, 'count' => $iCountCommentUser ],
[ 'name' => 'notes', 'url' => "{$oUserProfile->getUserWebPath()}created/notes/", 'text' => {lang name='user.publications.nav.notes'}, 'count' => $iCountNoteUser, 'is_enabled' => $oUserCurrent && $oUserCurrent->getId() == $oUserProfile->getId() ]
]}

View file

@ -1,13 +0,0 @@
{**
* Навигация в профиле пользователя в разделе "Избранное"
*}
{component 'nav'
name = 'profile_favourite'
activeItem = $sMenuSubItemSelect
mods = 'pills'
hookParams = [ 'oUserProfile' => $oUserProfile ]
items = [
[ 'name' => 'topics', 'text' => {lang name='user.favourites.nav.topics'}, 'url' => "{$oUserProfile->getUserWebPath()}favourites/topics/", 'count' => $iCountTopicFavourite ],
[ 'name' => 'comments', 'text' => {lang name='user.favourites.nav.comments'}, 'url' => "{$oUserProfile->getUserWebPath()}favourites/comments/", 'count' => $iCountCommentFavourite ]
]}

View file

@ -1,10 +0,0 @@
{**
* Навигация на главной странице профиля
*}
{component 'nav'
name = 'profile_info'
activeItem = $sMenuSubItemSelect
mods = 'pills'
hookParams = [ 'oUserProfile' => $oUserProfile ]
items = [ [ 'text' => {lang name='user.profile.title'}, 'url' => $oUserProfile->getUserWebPath(), 'name' => 'main' ] ]}

@ -1 +1 @@
Subproject commit a3a9dfe083d9ba292f7cb1a469e5283f043a0d5b
Subproject commit a0b05f8d4fe4021175bcd76ca888b39ac19bf4e2