Вывод в модуле материалов, начиная с пятого или десятого

  • 7 Ответов
  • 405 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

SolopoV

  • Завсегдатай
  • *****
  • 474
  • 12
  • зеленею...
Стандартный модуль mod_k2_content, как в нем вывести новые материалы, но не самого начала (не с самого нового материала) а, к примеру с пятого или десятого... Суть: необходимо вывести такой модуль на странице, где есть уже первые пять или десять материалов.

Полагаю, должно быть нечто подобное?

Код
($i =5, $n = count($items); $i < $n; $i++)

Буду благодарен, кто поможет.

*

motokraft

  • Живу я здесь
  • ******
  • 1338
  • 59
Стандартный модуль mod_k2_content, как в нем вывести новые материалы, но не самого начала (не с самого нового материала) а, к примеру с пятого или десятого... Суть: необходимо вывести такой модуль на странице, где есть уже первые пять или десять материалов.

Полагаю, должно быть нечто подобное?

Код
($i =5, $n = count($items); $i < $n; $i++)

Буду благодарен, кто поможет.

Не надо указывать в for с какого момента считать. Лучше с помощью условия if сортируй их
Код
<?php
for($i =0; $n = count($items); $i++)
{
if($items[$n] >= 5 && $items[$n] == 10)
{
// выводим материал...
}
}
?>
...

*

robert

  • Профи
  • ********
  • 4002
  • 371
Не надо указывать в for с какого момента считать. Лучше с помощью условия if сортируй их
Код
<?php
for($i =0; $n = count($items); $i++)
{
if($items[$n] >= 5 && $items[$n] == 10)
{
// выводим материал...
}
}
?>
некорректно: ничего не выводится (по идее, только последний материал, который имеет содержание "10"), потому что цикл будет бесконечным.
Код
($i =5, $n = count($items); $i < $n; $i++)
Можно так, но:
1. Пропущенные материалы могут не совпадать с теми, что на странице.
2. Если есть пагинация, то с начала каждой страницы будут пропущены 5 материалов, а не только первые 5.

Вариант: Сравнить id или alias (смотрите, какие есть, не пользуюсь К2, поэтому не могу сказать) материалов модуля и тех, что на странице. Если совпадают, то не выводить.
« Последнее редактирование: 06.07.2015, 15:04:49 от robert »
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

SolopoV

  • Завсегдатай
  • *****
  • 474
  • 12
  • зеленею...
Может быть кто то сделает выборку по ID (на соответствие)? В общем и целом задача есть, если кто то возьмется решить - отблагодарю ЯДом (в разумных пределах). Файл (или модуль) могу предоставить, хотя он стандартный..

*

motokraft

  • Живу я здесь
  • ******
  • 1338
  • 59
некорректно: ничего не выводится (по идее, только последний материал, который имеет содержание "10"), потому что цикл будет бесконечным.Можно так, но:

согласен! Но сделал вот так
Код
for($u = 1; $u <= count($items); $u++) 
{
        if($u >= 5 && $u < 10)
{
echo $items[$u]->title;
}
}

И все работает
но только без использования foreach
...

*

SolopoV

  • Завсегдатай
  • *****
  • 474
  • 12
  • зеленею...
согласен! Но сделал вот так
Код
for($u = 1; $u <= count($items); $u++) 
{
        if($u >= 5 && $u < 10)
{
echo $items[$u]->title;
}
}

И все работает
но только без использования foreach

При последнем приведенном коде 

Код
for($u = 1; $u <= count($items); $u++) 
{
        if($u >= 5 && $u < 10)
{
echo $items[$u]->title;
}
}

возникает пустая последняя строка (с текущей датой)...

*

motokraft

  • Живу я здесь
  • ******
  • 1338
  • 59
возникает пустая последняя строка (с текущей датой)...

правильно укажи диапазон в строке
Код
 if($u >= 5 && $u < 10)

К примеру я из 10 материалов вывожу последние 5 это значит что диапазон получиться
от больше или равно 5 и до меньше 10 ( 10 материал не включается в диапазон)...
Цыфрами: 5, 6, 7, 8, 9

...

*

SolopoV

  • Завсегдатай
  • *****
  • 474
  • 12
  • зеленею...
правильно укажи диапазон в строке
Код
 if($u >= 5 && $u < 10)

К примеру я из 10 материалов вывожу последние 5 это значит что диапазон получиться
от больше или равно 5 и до меньше 10 ( 10 материал не включается в диапазон)...
Цыфрами: 5, 6, 7, 8, 9



О!.. Все гут! Материалов просто пока маловато.. Я понял..