Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Вывод подфорумов в 2 или 3 колонки (столбца)

Featured Replies

Posted

Подскажите на IPS 4.1 как решить вопрос вывода подфорумов в 2 или 3 колонки?

Попытался сделать при помощи for но не выходит,  пока не совсем понимаю как работает шаблонизатор IPS, поэтому прошу помощи. 

Искал но ничего подобного не нашел только для версии 3.*

 

 

 

Go to : ACP > Customization > Themes > Ur theme > HTML & CSS Codes > forums > front > index > forumRow и найти :

{{if $forum->hasChildren()}}
				<ul class="ipsDataItem_subList ipsList_inline">
					{{foreach $forum->children() as $subforum}}
						<li class="{{if \IPS\forums\Topic::containerUnread( $subforum )}}ipsDataItem_unread{{endif}}">
							<a href="{$subforum->url()}">{{if \IPS\forums\Topic::containerUnread( $subforum )}}<span class='ipsItemStatus ipsItemStatus_tiny {{if !\IPS\forums\Topic::containerUnread( $subforum ) && !$subforum->redirect_on}}ipsItemStatus_read{{endif}}'><i class="fa fa-circle"></i></span>&nbsp;{{endif}}{$subforum->_title}</a>
						</li>
					{{endforeach}}
				</ul>
			{{endif}}

Удалит его и найти:

{{if $forum->description}}
				<div class="ipsDataItem_meta ipsType_richText">{$forum->description|raw}</div>
			{{endif}}

затем вставить этот код:

{{if $forum->hasChildren()}}
					<ol class='ipsList_inline ipsType_small subforums2'>
{{foreach $forum->children() as $subforum}}</ol>
<ol class='ipsList_inline ipsType_small subforums3'>
{{if \IPS\forums\Topic::containerUnread( $subforum )}}
<li class='unread'>
{{endif}}
{{if !\IPS\forums\Topic::containerUnread( $subforum )}}
<li>
{{endif}}
{{endforeach}}
</ol>
<ol class='ipsList_inline ipsType_small subforums'>
{{foreach $forum->children() as $subforum}}</ol>
<ol class='ipsList_inline ipsType_small subforums1'>
{{if \IPS\forums\Topic::containerUnread( $subforum )}}<li class='unread'>
{{endif}}
{{if !\IPS\forums\Topic::containerUnread( $subforum )}}
<li>
{{endif}}
<a href="{$subforum->url()}">{$subforum->_title}</a></li>
{{endforeach}}</ol>
			{{endif}}

Перейти к custom.css и вставить этот код:

ol.subforums1 {
  
  margin-top: 3px;
  float: left;
  width: 33%;
  
}
ol.subforums1 li {
  
  background: url('http://ваш–форум/subforum_vechis.png') no-repeat 0 50%;
  padding: 0 15px 0 15px;
  margin: 0;
  float: left;
  
}
.subforums1 li.unread { 
  font-weight: bold; 
  background-image: url('http://ваш–форум/subforum_now.png'); 
}
ol.subforums2 {
  
  width: 33%;
  overflow: hidden;
  
}
ol.subforums2 li {
  
  background: url('http://ваш–форум/subforum_vechis.png') no-repeat 0 50%;
  padding: 0 15px 0 15px;
  margin: 0;
  float: left;
  
}
.subforums2 li.unread { 
  font-weight: bold; 
  background-image: url('http://ваш–форум/subforum_now.png'); 
}
ol.subforums3 {
  width: 33%;
  overflow: hidden;
}
ol.subforums3 li {
  background: url('http://ваш–форум/subforum_vechis.png') no-repeat 0 50%;
  padding: 0 15px 0 15px;
  margin: 0;
  float: left;
}
.subforums3 li.unread { 
  font-weight: bold;
  background-image: url('http://ваш–форум/subforum_now.png'); 
}

Для того, чтобы изменить образ чтения подфорума вы должны изменить эту ссылку везде, где вы нашли его на верхней CSS код:

http://ваш–форум/subforum_vechis.png

И изменить образ непрочитанных подфорума вы должны изменить эту ссылку везде, где вы нашли его на верхней CSS код:

http://ваш–форум/subforum_now.png

 

.ipsDataItem_subList{ overflow: hidden; }
 
        html[dir="ltr"] .ipsApp .ipsDataItem_subList,
        html[dir="rtl"] .ipsApp .ipsDataItem_subList{
            background: none;
            line-height: 220%;
            padding-left: 0 !important;
            padding-right: 0 !important;
            padding-bottom: 4px;
        }
        
        .ipsDataItem_subList li{
            float: left;
            width: calc(100% / 1 - 5px);
        }
 
        html[dir="rtl"].ipsDataItem_subList li{ float: right; }
        
        .ipsDataItem_subList li a:after{ display: none; }
    
        html[dir="rtl"] .ipsDataItem_subList.ipsList_inline > li{ margin-left: 0; padding-bottom: 4px;}

width: calc(100% / 1 - 5px);  = 1 изменить столбец 1 по 2 для 2 или 3 колонки для 3 колонки

  • Author

Рано я обрадовался.

Стал проверять добавил больше 3х подфорумов происходит такая бяка..

Screenshot_7.png

Да и вообще посмотрел на код вывода, там какой-то бред. Я вчера просто с тяжелой головой не заметил..

 

Даже если убрать мои иконки, и просто заглянуть в html который генерируется, там какая-то несвязанная структура получается.

И код css который содержит  width: calc(100% / 1 - 5px);  не работает

  • Author

Пришлось сделать заново. Все куда проще...

В шаблоне forums/front/index/forumRow.phtml

{{if $forum->hasChildren()}}
	{{$chunk = 3;}}
	{{$chunked = array_chunk($forum->children(), $chunk, true);}}
	{{foreach $chunked as $chunk}}
      <ul class='subforum'>
        {{foreach $chunk as $subforum}}
        	{{if \IPS\forums\Topic::containerUnread($subforum)}}
              <li class='unread'>
                {{endif}}
                {{if !\IPS\forums\Topic::containerUnread($subforum)}}
              <li>
                {{endif}}
                <a href="{$subforum->url()}">{$subforum->_title}</a></li>
        	  </li>
      	{{endforeach}}
      </ul>
	{{endforeach}}
{{endif}}

В custom.css

.subforum{
    list-style: none;
    margin: 0;
    padding: 0;
}
.subforum li{
    width: calc(100%/3 - 1%);
    float: left;
}

 

Ну там уже для .unread стили думаю понятно что нужно определить, кому надо иконки добавить fontawesome или через background

p.s. и еще там один закрывающий тег лишний, но отредактировать не могу к сожалению. 

  • Author

Вот последний вариант который я оставил, если кому-то интересно.

Выглядит это так:

2 колонки

Screenshot_8.png

3 колонки

Screenshot_7.png

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

https://gist.github.com/fearrr/34b7bfa6b120c88d23a9fec2d31229fb

  • 8 месяцев спустя...

Прошу прощения, подскажите, а где именно вы активируете вывод в 2 колонки подфорумы, просто мне нужно этио отключить, а где включал найти не могу, где - то в админке вроде

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.