Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter | Личный кабинет | Карта сайта | RSS ленты
О проекте | Скачать CMS | Видеоуроки | Документация | Плагины | Форум | Идеи | Новости | Веб-мастеру | Контакты

Выводим список анонсов страницы с ссылками на них

Готовые модули и методы расширения функциональности

Выводим список анонсов страницы с ссылками на них

Сообщение Admin » 17 май 2010, 16:55

Чтобы это сделать нужно воспользоваться плагином system_kids.php который выложен на странице http://yapro.ru/addons/obmen-kontentom/ ... sayta.html

Визуально это будет выглядеть приблизительно так:

1.png
1.png (85.75 КБ) Просмотров: 4552

Для его подключения, впишите в нужное место страницы сайта конструкцию вида:

Код: Выделить всё
{~system_kids.php~}

Так же можно задавать условия работы данного плагина, например так:

Код: Выделить всё
{~$max_system_kids=123;~AND~system_kids.php~}

При заданном выше условии, кол-во выведенных на странице новостей будет не больше 123 шт.

Чтобы отсортировать страницы нужным образом, можно написать так:

Код: Выделить всё
{~$system_kids_orderby='position';~AND~system_kids.php~}

А чтобы вывести только статьи блога, то напишите так:

Код: Выделить всё
{~$where_system_kids='blog=1';$system_kids_show_parents_names=1;~AND~system_kids.php~}

Указав $system_kids_show_parents_names = 1; - мы говорим плагину, чтобы он выводил названия разделов к которым принадлежит выведенная страница.
YaPro - мы делаем мир удобнее
Аватара пользователя
Admin
Администратор
 
Сообщения: 477
Зарегистрирован: 15 фев 2008, 21:36
Откуда: Москва

Скрываем определенные статьи (не выводим скрытые)

Сообщение Admin » 09 авг 2010, 11:14

Пользователь Artes задал вопросы на странице viewtopic.php?f=13&t=248

Думаю ответы будут полезны многим пользователям использующим данный модуль.

Artes писал(а):1. Внести понятие у материала не отображаться ( на главной сайта, раздела и т.п.) т.е модуль содержимого в разделе просто не выводит статью ).

Как я понимаю, Вы собираетесь это сделать для плагина список анонсов страницы с ссылками на них.

В этом случае реализовать данную возможность можно так:

1. Создать дополнительное поле для формы заполнения с параметрами:

Название: Не отображать в списке:
Имя поля: hideme
Тип поля: подтверждение (CHECKBOX)
Синхронизация с таблицей страниц: поставьте галочку

2. Поместить следующий код в любое место страницы:

Код: Выделить всё
{~$where_system_kids='hideme!=1';~AND~system_kids.php~}

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

Artes писал(а):2. Для новой версии сделать модуль содержимое раздела X, который бы выводил анонсы только из радела и его подразделов ( или ряда разделов ) указанных в нем ( модуле ).

Тут все еще проще, просто примените следующую конструкцию:

Код: Выделить всё
{~$where_system_kids='parent_id IN (1,2,3)';~AND~system_kids.php~}

1,2,3 - идентификаторы разделов и подразделов, анонсы которых нужно выводить.
YaPro - мы делаем мир удобнее
Аватара пользователя
Admin
Администратор
 
Сообщения: 477
Зарегистрирован: 15 фев 2008, 21:36
Откуда: Москва

Пропустим первые Х самых новых статей

Сообщение Admin » 20 сен 2010, 13:20

Пользователь Artes задал интересный вопрос на странице viewtopic.php?f=13&t=267

Думаю ответ будет полезен многим пользователям использующих данный модуль.

Artes писал(а):Часто, первые несколько материалов сайта представлены не в таком виде, как остальная лента ( дизайн, блоки, слайдеры и т.п ) Если вывести их отдельным модулем как бы не проблема, то не отображать их на остальной ленте уже вопрос, вводить им доп. параметр и т.п не выход т.к лента живая и потом отменять этот параметр у старых новостей для их ухода в обычный порядок ленты крайне неудобно. Отсюда вопрос, как например модуля system_kids указать вывод не к примеру просто 10 последних материалов, а 10 материалов начиная с четвертого по дате и т.п.

Т.е получим ленту на N материалов младше ленты последнее добавленное на сайте


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

Для этого в SQL-запросе плагина system_kids.php используйте LIMIT-ы, которые описаны на странице http://yapro.ru/documents/api/system-functions/sql.html

Например, если в разделе ненужно выводить 5 самых новых страниц, то в плагине system_kids.php замените этот фрагмент кода:

Код: Выделить всё
$orderby,$start, $max

на этот:

Код: Выделить всё
$orderby,$start+5, $max

обратите внимание на цифру 5.
Аватара пользователя
Admin
Администратор
 
Сообщения: 477
Зарегистрирован: 15 фев 2008, 21:36
Откуда: Москва

При отсутствии pagebreak выводим в анонсе полный текст

Сообщение Admin » 01 окт 2010, 22:22

Пользователь Max спрашивает:
Max писал(а):захотелось чтобы при отсутствии <!-- pagebreak --> вместо анонса выводился полный текст страницы, как быть?

Для этого, в файле system_kids.php перед:

Код: Выделить всё
if(!$notice && $r['img']){

напишите следующее:

Код: Выделить всё
if(!stristr($r['article'], '<!-- pagebreak -->')){ $notice = $r['article']; }

сохраните файл.
YaPro - мы делаем мир удобнее
Аватара пользователя
Admin
Администратор
 
Сообщения: 477
Зарегистрирован: 15 фев 2008, 21:36
Откуда: Москва


Вернуться в Плагины и расширения

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron