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.

Вывод определенного количества новостей (Pages)

Featured Replies

Posted

Интересует следующее. Имеется страница, имеется шаблон вывода новостей. Как выводить количество новостей которое мне хочется, а именно закрепленных, или например одну закрепленную , а другую важную рядом с ней, а ниже все остальные и чтобы они не повторялись с теми которые выше (важные и закрпленные).

Вот например имеется дефолтный вывод одной важной и остальных новостей, как его сделать чтобы вывелось 2 и более важных?

Вот index:

<div class='ipsPageHeader ipsClearfix ipsSpacer_bottom'>
	{{if $database->use_categories}}
	<div class='ipsPos_right ipsResponsive_noFloat'>
		<a href="{$url->setQueryString('show', 'categories')}" class="ipsButton ipsButton_medium ipsButton_fullWidth ipsButton_link"><i class="fa fa-folder-open"></i> {lang="cms_show_categories"}</a>
	</div>
	{{endif}}
	
</div>

{{if $database->can('add') or \IPS\Member::loggedIn()->member_id}}
	<ul class="ipsToolList ipsToolList_horizontal ipsClearfix ipsSpacer_both ipsResponsive_hidePhone">
		{{if $database->can('add')}}
			<li class='ipsToolList_primaryAction'>
				<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" {{if $database->use_categories}}data-ipsDialog="1" data-ipsDialog-size="narrow" data-ipsDialog-title="{lang="cms_select_category"}"{{endif}} href="{$url->setQueryString( array( 'do' => 'form', 'd' => \IPS\cms\Databases\Dispatcher::i()->databaseId ) )}">{lang="cms_add_new_record_button" sprintf="$database->recordWord( 1 )"}</a>
			</li>
		{{endif}}
	</ul>
{{endif}}

<hr class='ipsHr'>
<section class='ipsType_normal ipsSpacer_both'>
  <div class="ipsAreaBackground_light ipsPad">
	{{if count($articles)}}
		{{foreach $articles as $id => $record}}
			
    
    		{{if $id == 0}}
                  <div class='ipsList_reset ipsGrid ipsGrid_collapsePhone' data-ipsgrid="" data-ipsgrid-equalheights='row'>
                 
                      
                  	<div class='SG_card ipsPad ipsAreaBackground_reset ipsType_left ipsGrid_span6' style='height: 418px;'>
						{template="entry" app="cms" location="database" group="supergrid" params="$record, $database, 2"}
                  	</div>
                   
				 </div>
                  
			{{else}}
				
 				{{if ($id - 1) % 3 == 0}}
					<div class='ipsList_reset ipsGrid ipsGrid_collapsePhone' data-ipsgrid="" data-ipsgrid-equalheights='row'>
				{{endif}}
                   	<div class='SG_card ipsPad ipsAreaBackground_reset ipsType_left ipsGrid_span4' style='height: 345px;'>
						{template="entry" app="cms" location="database" group="supergrid" params="$record, $database, $id"}
                    </div>
				{{if ($id - 1) % 3 == 2}}
					</div>
				{{endif}}
    
			{{endif}}
    
		{{endforeach}}
	{{endif}}
    </div>
</section>
{{if $database->featured_settings['pagination'] and ( $pagination['pages'] > 1 )}}
	{template="pagination" app="core" location="global" group="global" params="$url, $pagination['pages'], $pagination['page'], $database->featured_settings['perpage'], TRUE, 'page'"}
{{endif}}

Спасибо за любую идею и решение господа знатоки.

  • Author

господа как из этого массива вывести свое количество закрепленных новостей?

{{foreach $articles as $id => $record}}
			
    
    		{{if $id == 0}}
                  <div class='ipsList_reset ipsGrid ipsGrid_collapsePhone' data-ipsgrid="" data-ipsgrid-equalheights='row'>
                 
                      
                  	<div class='SG_card ipsPad ipsAreaBackground_reset ipsType_left ipsGrid_span6' style='height: 418px;'>
						{template="entry" app="cms" location="database" group="supergrid" params="$record, $database, 2"}
                  	</div>
                   
				 </div>
                  
			{{else}}
				
 				{{if ($id - 1) % 3 == 0}}
					<div class='ipsList_reset ipsGrid ipsGrid_collapsePhone' data-ipsgrid="" data-ipsgrid-equalheights='row'>
				{{endif}}
                   	<div class='SG_card ipsPad ipsAreaBackground_reset ipsType_left ipsGrid_span4' style='height: 345px;'>
						{template="entry" app="cms" location="database" group="supergrid" params="$record, $database, $id"}
                    </div>
				{{if ($id - 1) % 3 == 2}}
					</div>
				{{endif}}
    
			{{endif}}
    
		{{endforeach}}

 

2 часа назад, andros0789 сказал:

Ребята. ауууууууууууу! 

Вопрос предполагает более глубокое погружение в тему. Не всегда на это есть время.

В 21.11.2016 в 13:23, andros0789 сказал:

{{if count($articles)}}

На вскидку приходит  решение. В приведенном выше коде нет строки получения самих данных $articles. Именно с этим стоит работать.

1) Сначала получить нужные тебе данные, например, только 2 закрепленных статьи, вывести их как тебе необходимо. Затем, еще раз получить $articles, но уже все остальные и в том количестве, что тебе необходимо. Также вывести их в шаблоне.

2) Либо получить только нужное количество статьей, изменить скрипт шаблона, чтобы первые две статьи выводились с крупными изображениями по две на строке, затем все остальные по три на строке. 

  • Author
21 час назад, ram108 сказал:

Вопрос предполагает более глубокое погружение в тему. Не всегда на это есть время.

На вскидку приходит  решение. В приведенном выше коде нет строки получения самих данных $articles. Именно с этим стоит работать.

1) Сначала получить нужные тебе данные, например, только 2 закрепленных статьи, вывести их как тебе необходимо. Затем, еще раз получить $articles, но уже все остальные и в том количестве, что тебе необходимо. Также вывести их в шаблоне.

2) Либо получить только нужное количество статьей, изменить скрипт шаблона, чтобы первые две статьи выводились с крупными изображениями по две на строке, затем все остальные по три на строке. 

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

22 часа назад, andros0789 сказал:

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

А сколько нужно? Все дело в выборке данных. А далее шаблон вывода. Если есть хоть малейшие знания языка программирования, то собрать все воедино не сложно. Плюс доступна документация разработчика.

  • Author
21 минуту назад, ram108 сказал:

А сколько нужно? Все дело в выборке данных. А далее шаблон вывода. Если есть хоть малейшие знания языка программирования, то собрать все воедино не сложно. Плюс доступна документация разработчика.

я не могу понять суть именно IPS. именно вывода новостей. Вот хоть кто-то мне может показать пример?например если вы знаток языков программирования покажите пример. Набивка сообщений тут ни к чему об истине и познании и силе человеческого разума и тд. 

1 минуту назад, andros0789 сказал:

например если вы знаток языков программирования покажите пример

Я же написал выше, что тут нужно разбираться и тестировать. Для этого нужно время и желание. У вас и то и другое есть, значит все получится.

1 минуту назад, andros0789 сказал:

Набивка сообщений тут ни к чему об истине и познании и силе человеческого разума и тд. 

Извини. Больше не набиваю тут сообщения.

  • Author
19 минут назад, ram108 сказал:

Я же написал выше, что тут нужно разбираться и тестировать. Для этого нужно время и желание. У вас и то и другое есть, значит все получится.

Извини. Больше не набиваю тут сообщения.

понятно...

  • Author

Короче кому интересно вот рабочий вариант, вывода еще одной прикрепленной новости:

{{if count($articles)}}
		{{foreach $articles as $id => $record}}
			
    
    			{{if $id == 1}}
    				<div class='ipsList_reset ipsGrid ipsGrid_collapsePhone' data-ipsgrid="" data-ipsgrid-equalheights='row'>
      					<div class='SG_card ipsPad ipsAreaBackground_reset ipsType_left ipsGrid_span6' style='height: 418px;'>
						{template="entry" app="cms" location="database" group="supergrid" params="$record, $database, 1"}
                  	</div>
                   	</div>
      			{{endif}}
      
    		{{if $id == 0}}
                 
    			 
					<div class='ipsList_reset ipsGrid ipsGrid_collapsePhone' data-ipsgrid="" data-ipsgrid-equalheights='row'>
				
                 
                      
                  	<div class='SG_card ipsPad ipsAreaBackground_reset ipsType_left ipsGrid_span6' style='height: 418px;'>
						{template="entry" app="cms" location="database" group="supergrid" params="$record, $database, 2"}
                  	</div>
                    
                  
					
				
                  
			{{else}}
				
 				{{if ($id - 1) % 3 == 0}}
					<div class='ipsList_reset ipsGrid ipsGrid_collapsePhone' data-ipsgrid="" data-ipsgrid-equalheights='row'>
				{{endif}}
                   	<div class='SG_card ipsPad ipsAreaBackground_reset ipsType_left ipsGrid_span4' style='height: 345px;'>
						{template="entry" app="cms" location="database" group="supergrid" params="$record, $database, $id"}
                    </div>
				{{if ($id - 1) % 3 == 2}}
					</div>
				{{endif}}
    
			{{endif}}
    
		{{endforeach}}
	{{endif}}

 

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.