Задать вопрос

Нужно сформировать и правильно написать одно условие?

Здравствуйте.
Есть форум с двумя основными категориями и множеством подкатегорий. Все это выводится на одну страницу. И получается большая простыня.
Вот изначальный код:
{foreach from=$aForums item=oForum}
			{if $oForum->getAllowShow()}
				{assign var='aSubForums' value=$oForum->getChildren()}
				<section class="forums-list category-block toggle-section" id="category-{$oForum->getId()}">
					<header class="forums-header well well-sm">
						<i class="js-forum-cat-toggler"></i>
						<h2><a href="{$oForum->getUrlFull()}" title="{$oForum->getTitle()}"><i class="fa fa-folder fa-lg"></i> {$oForum->getTitle()}</a></h2>
					</header>
					<div class="forums-content well">
						{include file="$sTemplatePathForum/forums_list.tpl" aForums=$aSubForums}
					</div>
					<div class="forums-note clearfix" style="display:none;">
						<div class="fl-r">
							<strong>{$oForum->getCountTopic()|number_format:0:'.':$oConfig->Get('plugin.forum.number_format')}</strong> {$oForum->getCountTopic()|declension:$aLang.plugin.forum.topics_declension:'russian'|lower}
							<span>|</span>
							<strong>{$oForum->getCountPost()|number_format:0:'.':$oConfig->Get('plugin.forum.number_format')}</strong> {$oForum->getCountPost()|declension:$aLang.plugin.forum.posts_declension:'russian'|lower}
						</div>
					</div>
				</section>
			{/if}
		{/foreach}


Решил внести изменения в отображения с помощью вкладок, Tabs из Bootstrap (getbootstrap.com/javascript/#tabs).

<ul class="nav nav-tabs" id="cat-tab">
      <li class="active"><a href="#category-13" data-toggle="tab">форум_1</a></li>
      <li class=""><a href="#category-11" data-toggle="tab">-форум_2</a></li>
</ul>

 <div class="tab-content">
         {foreach from=$aForums item=oForum}
		               {if $oForum->getAllowShow()}
			                       {assign var='aSubForums' value=$oForum->getChildren()}
                       <div class="tab-pane forums-list toggle-section" id="category-{$oForum->getId()}">
                               <header class="forums-header well well-sm">
						                                      <i class="js-forum-cat-toggler"></i>
						                                      <h2><a href="{$oForum->getUrlFull()}" title="{$oForum->getTitle()}"><i class="fa fa-folder fa-lg"></i> {$oForum->getTitle()}</a></h2>
					                              </header>
					                             <div class="forums-content well">
						                                    {include file="$sTemplatePathForum/forums_list.tpl" aForums=$aSubForums}
					                             </div>
					                             <div class="forums-note clearfix" style="display:none;">
						                                    <div class="fl-r">
							                                           <strong>{$oForum->getCountTopic()|number_format:0:'.':$oConfig->Get('plugin.forum.number_format')}</strong> {$oForum->getCountTopic()|declension:$aLang.plugin.forum.topics_declension:'russian'|lower}
							                                           <span>|</span>
							                                           <strong>{$oForum->getCountPost()|number_format:0:'.':$oConfig->Get('plugin.forum.number_format')}</strong> {$oForum->getCountPost()|declension:$aLang.plugin.forum.posts_declension:'russian'|lower}
						                                   </div>
					                             </div>
                     </div>
	                {/if}
		        {/foreach}
</div>


Проблема в том, что по умолчанию одна из вкладок сразу должна обладать классом active. Если сразу присвоить, здесь:
<div class="tab-pane forums-list toggle-section active" id="category-{$oForum->getId()}">


То все вкладки активны, все показываются.
В связи с этим прошу помощи в написании условия которое присваивало бы класс active в нужный момент?
  • Вопрос задан
  • 290 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
aaadddminnn
@aaadddminnn
php it ubuntu debian
я не знаю может говнокод. Но можно к примеру
if($_GET['do'] == '1' ){
echo 'ваш текст1';
} else {
echo 'ваш текст2';
}


В итоге если юрл будет вида index.php?do=1 то будет на екране ваш текст1 если нет то ваш текст2 изначально отключить вывод ошибок. так как если url будет вида index.php то будет ругаться что do пустой.
Ответ написан
@holfza
Заведите счетчик $count = 1, и на каждой итерации увеличивайте его к примеру на 1.
Ну и:
<?=($count == 1)?'active':'';
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы