Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
alcatras

Как скрыть пустую кастомную вкладку

Рекомендованные сообщения

Привет, в постах темы у пользователей под аватаркой сделал кастомные вкладки. Как то можно реализовать так же, как на картинке? Если вторая вкладка у пользователя пустая (к примеру доп поле пользователя не заполнено), то отображать только первую (которая изначально активная), а вторую вкладку скрывать. 

1673341410_2021-04-29131611.thumb.png.a86e82a2b8da9f200815360ff6f7a6d0.png

Поделиться сообщением


Ссылка на сообщение

Если супер-просто и на уровне шаблонов, то:

1. В настройках поля профиля:

image.png

 

2. Добавить в шаблон:

 

{{if $comment->author()->contentProfileFields()["core_pfieldgroups_2"]["core_pfield_3"]}}
<div class='tab'>
	{$comment->author()->contentProfileFields()["core_pfieldgroups_2"]["core_pfield_3"]}
</div>
{{endif}}

 

ID группы полей и самого поля можно посмотреть в адресе при редактировании в АЦ, например:

/?app=core&module=membersettings&controller=profiles&tab=profilefields&do=form&id=2

/?app=core&module=membersettings&controller=profiles&tab=profilefields&subnode=1&do=form&id=3

 

Поделиться сообщением


Ссылка на сообщение

@Lesovsky пока что то не вдуплю никак, смог сделать вот так, без скрытия пустых вкладок, теперь как то под ваш вариант переделывать надо)) : 

 

 <div id="tab_info_games">
      <div class="ipsTabs ipsTabs_small ipsTabs_stretch ipsClearfix" id="blocksTab_{$comment->$idField}" data-ipstabbar="" data-ipstabbar-contentarea="#blocksTab_{$comment->$idField}_content">
   <a href='#blocksTab_{$comment->$idField}' data-action='expandTabs'><i class='icon-caret-down'></i></a>
   <ul role='tablist'>
      <li role='presentation'>
         <a href="#" role='tab' id='blocksTab_{$comment->$idField}_forums' class='ipsTabs_item ipsType_center ipsTabs_activeItem' aria-selected="true">Игра</a>
      </li>
      <li role='presentation'>
         <a href="#" id='blocksTab_{$comment->$idField}_orion' role='tab' class='ipsTabs_item ipsType_center'>Прочее</a>
      </li>
   </ul>
</div>
<!-- The tab panel wrapper -->
<div id="blocksTab_{$comment->$idField}_content" class="ipsTabs_panels">
   <!-- The tab 1 -->
   <div id="ipsTabs_blocksTab_{$comment->$idField}_blocksTab_{$comment->$idField}_forums_panel" class="ipsTabs_panel" style="" aria-hidden="" animating="false">
      <div class="ipsWidget_inner">
         <div class="ipsPad_half" id="scroll_streams">
            <ul class="ipsDataList ipsDataList_reducedSpacing" id="results">	
           {{$fields = $comment->author()->contentProfileFields();}}
{{$field2 = $fields['core_pfieldgroups_5']['core_pfield_8'];}} 
          $field2 
          
              
    		
           </ul>
         </div>
      </div>
   </div>
   <!-- The tab 2 -->
   <div id="ipsTabs_blocksTab_{$comment->$idField}_blocksTab_{$comment->$idField}_orion_panel" class="ipsTabs_panel" style="" aria-hidden="" animating="false">
      <div class="ipsWidget_inner">
         <div class="ipsPad_half"  id="scroll_streams">
            <ul class="ipsDataList ipsDataList_reducedSpacing" id="results2">
           
            
           {{$fields = $comment->author()->contentProfileFields();}}
{{$field1 = $fields['core_pfieldgroups_5']['core_pfield_9'];}} 
          $field1
           </ul>
         </div>
      </div>
   </div>
</div>
        </div>

 

Поделиться сообщением


Ссылка на сообщение

ID у каждого таба должен быть уникальный, чтобы сделать уникальным, я думаю самым простым под каждый таб, организовать отдельную группу полей, и в ID таба вставлять ID группы полей, например, без переменных:

        <!-- The tab panel wrapper -->
        <div id="blocksTab_{$comment->$idField}_content" class="ipsTabs_panels">
            <!-- The tab 1 -->
            <div id="ipsTabs_blocksTab_{$comment->$idField}_blocksTab_core_pfieldgroups_5_forums_panel"
                 class="ipsTabs_panel" style="" aria-hidden="" animating="false">
				....
            </div>
            <!-- The tab 2 -->
            <div id="ipsTabs_blocksTab_{$comment->$idField}_blocksTab_core_pfieldgroups_6_orion_panel"
                 class="ipsTabs_panel" style="" aria-hidden="" animating="false">
				....
            </div>
        </div>

А чтобы скрыть пустую вкладку, нужно просто ссылку и контейнер скрывать условием в  котором проверять на пустоту группы полей.

Поделиться сообщением


Ссылка на сообщение
04/30/21 20:18 (изменено)
8 часов назад, Lesovsky сказал:

А чтобы скрыть пустую вкладку, нужно просто ссылку и контейнер скрывать условием в  котором проверять на пустоту группы полей.

Ну id поста (каждого комментария) {$comment->$idField} делает же ID таба уникальным, разве нет? Эх, а вот с условиями я не шибко дружу)

Изменено пользователем alcatras

Поделиться сообщением


Ссылка на сообщение

{$comment->$idField}  это ID поста, например у вашего сообщения оно 110202, соответственно в вашем коде ID у табов будут одинаковые:

        <!-- The tab panel wrapper -->
        <div id="blocksTab_110202_content" class="ipsTabs_panels">
            <!-- The tab 1 -->
            <div id="ipsTabs_blocksTab_110202_blocksTab_110202_forums_panel"
                 class="ipsTabs_panel" style="" aria-hidden="" animating="false">
				....
            </div>
            <!-- The tab 2 -->
            <div id="ipsTabs_blocksTab_110202_blocksTab_110202_orion_panel"
                 class="ipsTabs_panel" style="" aria-hidden="" animating="false">
				....
            </div>
        </div>

 

1 час назад, alcatras сказал:

Эх, а вот с условиями я не шибко дружу)

Вам известны по каким полям нужно определять показывать таб или нет, как узнать ID этих полей, вам тоже известно, пример примитивного условия выше привел, советую ещё раз данную тему прочить, заодно разберётесь.

И конечно не забывайте в браузере нажимать F12.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

@Lesovsky спасибо за помощь. Будем пытаться 🙂

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...