Jump to content

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

Featured Replies

Posted
comment_116308

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

Вот например имеется дефолтный вывод одной важной и остальных новостей, как его сделать чтобы вывелось 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
comment_116526

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

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

 

  • Author
comment_116621

Ребята. ауууууууууууу! Как сделать 2 закрепленных или важных новости пример ниже:

 

222.PNG

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

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

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

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

{{if count($articles)}}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

понятно...

comment_116705

Последняя набивка сообщения. Ссылка на гайд по темплейтам: https://invisionpower.com/4guides/themes-and-customizations/template-syntax/

  • Author
comment_116732

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

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