Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
alcatras

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

Recommended Posts

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

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

Share this post


Link to post

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

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

 

Share this post


Link to post

@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>

 

Share this post


Link to post

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>

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

Share this post


Link to post
8 часов назад, Lesovsky сказал:

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

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

Edited by alcatras

Share this post


Link to post

{$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

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...