AlexReket
@AlexReket
Верстальщик

Как сохраненить активный таб с помощью cookie (в шаблонизаторе Smarty)?

Добрый день. Возникла казалось бы небольшая проблема, но решить её так и не удалось.
Я работаю с шаблонизатором Smarty и у появилась необходимость сделать 2 таба меню. С этим проблем не возникло, но возник вопрос как сделать так чтобы человек использующий меню оставался в выбранном табе в то время как он передвигается по меню внутри него.
Сразу понятно что реализовать это можно с помощью cookie . Но сама реализация ко мне к сожалению не пришла. Перешарил весь интернет но видимо из-за особенностей Smarty ни один из вариантов не заработал.
Код меню:
<div class="sidebar-line">
    <ul class="ext-tabs-sidebar" id="sidebar-menu">
	<li class="active"> 
            <a href="#tab1"><i class="fa fa-bars"></i> {$lang.member_center}</a> 
        </li>
	 <li> 
            <a href="#tab2"><i class="fa fa-home"></i> Магазин</a>  
        </li>            
    </ul><!-- Конец .ext-tabs-sidebar -->


Всё стандартно в принципе, и вот сами блоки меню :
(Всё что в квадратных скобках, относится непосредственно к Smarty)
<div class="tab-content">
	<div id="tab1" class="tab-pane active"> 
	    <!-- ********** -->
	    <!-- NEW MODULE -->
	    <!-- ********** -->

	    <div class="sidebar-module"> 
		<nav class="sidebar-nav-v2" >                         
		    <ul>		
			<li><a href="#"><i class="{$item.icon}"></i> {$item.text}  {$item.indicator}<i class="fa fa-caret-left pull-right"></i></a>		   
			    <ul>
				<li class="page-arrow active-page"><a href="{$subitem.url}"><i class="{$subitem.icon}"></i>{$subitem.text} {$subitem.indicator}</a></li>				
				<li><a href="{$subitem.url}"><i class="{$subitem.icon}"></i>{$subitem.text} {$subitem.indicator}</a></li>	
				 </ul>
			</li>
			<li class="page-arrow active-page"><a href="{$item.url}"><i class="{$item.icon}"></i>{$item.text} {$item.indicator}</a></li>			
			<li><a href="{$item.url}"><i class="{$item.icon}"></i>{$item.text} {$item.indicator}</a></li>			
			<div class="spacer-20"></div>
			<div class="spacer-20"></div>
			<!--{/if}-->		
			<!--{/if}-->
			<!--{/foreach}-->			

		    </ul>

		</nav><!-- End .sidebar-nav-v1 --> 
        </div><!-- End .sidebar-module -->                                     
	</div>   
             
	<div id="tab2" class="tab-pane">

	    <!-- ********** -->
	    <!-- NEW MODULE -->
	    <!-- ********** -->
        <div class="sidebar-module"> 
		<nav class="sidebar-nav-v2">    
		    <ul>			
			<li><a href="#">{if $items.icon}<i class="{$items.icon}"></i>{/if} {$items.text} {$items.indicator}<i class="fa fa-caret-left pull-right"></i></a>			
			    <ul>
				
				<li class="page-arrow active-page"><a href="{$subitems.url}">{if $subitems.icon}<i class="{$subitems.icon}"></i>{/if} {$subitems.text} {$subitems.indicator}</a></li>			    
				
				<li><a href="{$subitems.url}">{if $subitems.icon}<i class="{$subitems.icon}"></i>{/if} {$subitems.text} {$subitems.indicator}</a></li>			    
				
			    </ul>
			</li>
			<li class="page-arrow active-page"><a href="{$items.url}">{if $items.icon}<i class="{$items.icon}"></i>{/if} {$items.text} {$items.indicator}</a></li>
			
			<li><a href="{$items.url}">{if $items.icon}<i class="{$items.icon}"></i>{/if} {$items.text} {$items.indicator}</a></li>		    		
		    </ul>
		</nav>    
	    </div><!-- End .sidebar-module --> 
        
	</div>
    </div><!-- End .tab-content -->


Перепробовал различные комбинации с cookie но за частую firebag не видел новосозданных cookies.
Ребята, помогите литературой либо советом, потому что правда уже сил нет. Простейшая зада, а решить никак не могу :(

Буду рад любой помощи!
  • Вопрос задан
  • 2586 просмотров
Пригласить эксперта
Ответы на вопрос 1
@IceJOKER
Web/Android developer
Лень читать все это, но по вопросу в заголовке - активный таб можно сохранить разными способами:
hash в адресной строке, при смене таба меняем и hash ( location.hash , если не хотите загнать это в историю, то location.replace() )
еще вариант с JS - (local | session)Storage
Можно сохранить в СЕССИИ выбранный таб(если идет перезагрузка страницы).
А если нет, то можно и в куки, при смене таба загоняем название или id выбранного таба в куки и все.

А что именно у вас не получается-то? Ищите по-отдельности , а потом соедините все воедино, а если не получается, то учите или готовьте $$ для тех кто учил
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы