Как не выводить несколько последних новостей в модуль?

 
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2783
на сайте
К примеру, две последние новости - не выводить. Или выводить начиная с третьей.
Спасибо!
Украинский для инстант
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 692
Перечислю целых три варианта. Отсечь "лишнее" можно:

1. На уровне запроса к БД
2. На уровне обработки данных перед передачей их в шаблон,
3. На уровне шаблона

Первый наиболее логичный, но если материал не просто выводится, а еще и фильтруется по неким критериям, например должен иметь рисунок или не менее 100 слов в анонсе, то тогда нужен вариант 2. Если же вмешательство в оригинальные файлы системы не желательно, то вариант номер 3. Что конкретно интересует?
Skype: pasha--g
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2783
на сайте
Третий вариант вполне подойдёт. Что-то подобное к свойству first функции foreach. Только условие нужно поставить не для первого элемента а - для нескольких первых.
Спасибо!
Украинский для инстант
Посетитель
small user social cms
Медаль
Сообщений: 657
Объявляешь переменную, каждый цикл прибавляешь 1, когда переменная принимает нужное значение, прогоняешь пустой див вместо анонса. Наверно так.
Редактировалось: 1 раз (Последний: 14 апреля 2014 в 18:55)
шаблоны и модули для instantCMS 1.10.6
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 692
Это лишнее, можно использовать то что уже есть.
Поскольку речь идет о модуле "Новые статьи", то я так полагаю, что две последние в данном случае означают две первые в цикле, а значит все просто:
Код PHP:
  1. {foreach key=aid item=article from=$articles}
  2. {if $aid > 2} <!-- {$aid} начинается с нуля! -->
  3. <div class="mod_latest_entry">.........</div>
  4. {/if}
  5. {/foreach}
Ну и поскольку пагинация при таком раскладе работать правильно не сможет лучше бы этот момент проконтролировать и вывести для себя напоминание. Например в самом верху файла вставить:
Код PHP:
  1. {if $cfg.is_pag}
  2. <p>Бла-бла-бла, пагинацию включать нельзя!!!</p>
  3. {/if}
Skype: pasha--g
Посетитель
small user social cms
Медаль
Сообщений: 657
я может не так выразился, но я это и имел в виду))
шаблоны и модули для instantCMS 1.10.6
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2783
на сайте
Pasha, Tokarev, спасибо!
Украинский для инстант
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: