0
<< предыдущая заметкаследующая заметка >>
09 апреля 2011
модуль ANONS

Итак, все, что вам нехватало для полного счастья. Спасибо Иланду за консультации по MySQL.

Анонсирую новый модуль ANONS. При построении сайтов и прочего говна часто возникают такие задачи, как, например:
— вывести 10 последних новостей
— вывести новости, которые не старше 30 дней
— вывести ссылки на все страницы с тэгами «пылесос», «чайник» или «бытовая техника»
— вывести ссылки на страницы, которые ты (да, именно ты!) еще не открывал своим браузером
— выводить краткие заголовки или короткие куски текста с ссылкой на продолжение
и т.п.

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

Вот список его настроек:

mode — тип выборки, варианты:
all (по умолчанию) — все страницы
blog — только страницы блога
page — только статические страницы

tags — если не пусто (по умолчанию пусто), то выборка будет проводиться по тэгам, перечисленным здесь через запятую

tags_and — как объединять тэги, если их в списке несколько. Варианты:
OR (по умолчанию) — выбирать записи, содержащие хотя бы какой-то из перечисленных тэгов
AND — выбирать записи, содержащие все перечисленные тэги

limit — выводить максимальное число записей, по умолчанию 20

days — выводить записи только за последние N дней (по умолчанию 0 — выводить все)

sort — сортировать записи:
date (по умолчанию) — по дате заметки блога
update — по времени последнего обновления

sortx — как сортировать записи: DESC (по умолчанию) обратная сортировка, пусто (пустые кавычки '') — прямая

podzamok — по умолчанию 0, но если 1, то для подзамочных друзей будут выводиться только подзамочные записи, для всех остальных — вообще ничего

length — число букв в отрывке текста, если 0 — то текст целиком (по умолчанию 200)

media — если 0 (по умолчанию) то выводить голый текст без верстки, картинок и т.п. При media=1 параметр length роли не играет — заметка выводится целиком

template — html-шаблон вывода, по умолчанию:
<div style='text-align:left; padding: 10px 0 10px 0; font-size:12px;'><b>{Y}-{M}-{D}: {Header}</b><br>{Body}&nbsp;<a href='{link}'>(...)</a></div>\n\n
Ну здесь понятно, в {Header}, {Body}, http://lleo.me/blog/2011/04/09 подставляется заголовок заметки, ее содержимое и ссылка на нее, {Y} {M} {D} — год, месяц и день заметки (если заметка блога)

redirect — если 1 (по умолчанию 0), то будет выбрана по вышеописанным критериям одна заметка, и на нее произойдет мгновенный переброс браузера. Например {_ANONS:redirect=1_} — тупо перебросит на самую последнюю запись. Здесь, правда, возникает нюанс: как же теперь отредактировать страницу с тэгом ANONS, если с нее мгновенно перебрасывает? На той странице, куда вас перебросит, в админке появится дополнительная строчка — вызов редактора той заметки, с которой сюда перебросило. Окно редактора не закроется (ибо заметки с этим номером не присутствует на экране), но этот глюк я править не стал — не так уж часто админу придется редактировать заметку с перебросом, один раз настроить и забыть.

Несколько примеров работы модуля:

1. Вывести все ссылки на заметки с тэгом «и смех и грех» или «пирдуха»

{_ANONS:
template = <div style='border: 1px dotted red'>{Y}-{M}-{D}: <a href='{link}'>{Header}</a></div>
tags = пирдуха, и смех и грех
days = 0
_}

2. Вывести 5 самых старых не обновлявшихся статических страниц

{_ANONS:
template = <div style='border: 1px dotted red'>{Y}: <a href='{link}'>{Header}</a></div>
mode = page
sort = update
sortx = ''
limit = 5
_}

compania: [...]
fido: fido

3. Вывести 10 последних записей блога с тэгом «движок», которые лично ты (посетитель) еще не читал, но не старше 365 дней, с заголовком и кратким анонсом в 60 символов. Разместить их на странице блоками в зеленой рамочке.

<div style='border: 3px solid green; padding: 10px;'>{_BLOKI: WIDTH=150
{_ANONS:
template = <div class=r><font color=red>{Y}/{M}/{D}:</font><br><b>{Header}</b><br>{Body} <a href='{link}'>читать&nbsp;далее</a></div>\n\n
days = 365
mode = blog
sort = date
tags = движок
limit = 10
length = 60
unread = 1
_}_}</div>


Как вам инструмент?

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Оставить комментарий


Include not found: `/home/www/lleo.me/blog/template/_reklamnaya_lirica.htm`