Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

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

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

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>

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

  • Автор
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.

  • Автор

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

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.