Главное меню в сайдбаре

Привет. Сорри если вопрос глупый, не могу разобраться

Есть задача полностью переместить главное меню (Топики, блоги, люди, и т.д.), со всеми подпунктами в сайдбар. То есть вправо, грубо говоря. Это нужно для нового шаблона. Есть пара вопросов:

1. Как это можно сделать?
2. Сайдбар по-умолчанию показывается не на всех страницах, а вот меню это нужно абсолютно везде. Может лучше создать какой то аналог сайдбара, разместить его над сайдбаром и поставить вывод на всех страницах?

17 комментариев

avatar
правильно мыслишь:) можно и отдельный блок создать и поставить в конфиге где выводить. я выбрал первый вариант на одном из своих проектов
  • hoti
  • 0
avatar
Не расскажешь, как это сделать? Блок не привязывается к сайдбару? То есть на страницах, где сайдбара нет, он будет выводится?
avatar
А почему вы не хотите просто сделать отображение сайдбара на всех страницах сайта?
avatar
Хороший вариант, снова вопрос — как? =)

И как перенести меню в сайдбар? ТО есть код, который находится в nav.tpl, его просто так не скопируешь, выдает ошибку смарти.
avatar
Ляпнул не подумав… действительно так не выходит. Но у меня смарти не выдает ошибку если код туда скопировать. Если в сайдбар скопировать код, то там не выводится вообще никакого меню, только форма поиска)

То какое меню на той или иной странице должно выводиться задается в файлах шаблона экшенов конструкциями вида
{include file='header.tpl' menu='blog'}

Как в сайдбаре задать вывод определенного меню в зависимости от просматриваемой страницы я не знаю.

Но вы можете тогда само меню перенести куда нибудь за пределы блока контента и тогда сможете настроить место вывода меню и его внешний вид таким каким захотите)

Т.е. например в файле header.tpl сделайте так:
<body onload="prettyPrint()">
	{hook run='body_begin'}
	{include file='header_top.tpl'}

	<div id="container">
		<div id="wrapper" class="{if $oUserCurrent and $showUpdateButton}show-update-button{/if} {if $showWhiteBack}white-back{/if}">
			{include file='nav.tpl'}
			<div id="content" {if $noSidebar}style="width: 100%"{/if}>
				<div id="content-inner">
					{include file='window_login.tpl'}
					
					{include file='system_message.tpl'}
					
					{hook run='content_begin'}


Не знаю насколько это правильно, но это работает =)
avatar
Ну работает да, появилось чуть ниже, над топиками. Теперь я думаю, как его разместить над сайдбаром. Возможно, как то отпозиционировать…
avatar
Там все зависит от шаблона, который вы делаете (фиксированной ширины или резиновый). Вообще я сейчас попробовал меню над сайдбаром разместить, для этого понадобилось в файле css прописать для меню свойства float: right; overflow: hidden; и ширину задал фиксированную, такую же как у сайдбара. Вобщем как-то так =)
avatar
у меня есть max-width и min-width, это резиновая верстка? Я так понимаю, что да.

Просто если разместить над контентом, то сам контент опустится вниз на высоту меню, что есть не супер.

Нельзя сделать его как сайдбар, то есть тоже флоат: лефт, но только сайдбар чтоб был ПОД меню?
avatar
Можно попробовать сделать так.
В файле header.tpl перенести вывод меню над блоком контента:
<div id="container">
		<div id="wrapper" class="{if $oUserCurrent and $showUpdateButton}show-update-button{/if} {if $showWhiteBack}white-back{/if}">
			{include file='nav.tpl'}
			<div id="content" {if $noSidebar}style="width: 100%"{/if}>
				<div id="content-inner">
					{include file='window_login.tpl'}
					{include file='system_message.tpl'}
					
					{hook run='content_begin'}


В grid.css прописать следующее:
#nav { background: url("http://www.fotoarend.ru/templates/skin/new-jquery/images/nav.png") no-repeat scroll 0 0 transparent; float: right; width: 32%;}

А в свойствах сайдбара:
#sidebar	{ width: 32%; float: right; }

И для блока с контентом задайте минимальную высоту:
#content 	{ width: 66.5%; min-height: 100px; float: left; margin-right: 1.5%; background: #fff; }


У меня таким способом удалось сайдбар под меню поместить.
avatar
ну скажем так, сайдбар сейчас действительно под меню) НО! над контентом так и осталась пустота, по высоте равная высоте меню...( Как поднять контент не понимаю. в верстке тупак) а еще шаблон делаю)
avatar
avatar
Странно, но у меня получается без пустого места над контентом, т.е. как на первом рисунке.
avatar
я делаю на девелопере, но в принципе какая разница…
avatar
Кстати, пытался вывести nav.tpl в футере, прямо над сайдбаром. он даже не выводится. Это впрочем меня не удивляет.
avatar
Может кто-нибудь поопытней подскажет?
avatar
Для 0.4 было Оно?
avatar
не совсем)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.