• Автор:

    Flesha
  • Добавлено:

    июн 22, 2015
  • Комментариев:

    0
  • Просмотров:

    1 396

Хак Расширение функционала шаблонизатора новостей

Хак Расширение функционала шаблонизатора новостей

Простой, но многофункциональный хак, позволяющий выводить заданный текст в зависимости от значения полей новости или доп. полей xfields.
Данный хак предназначен для работы только в шаблонах короткой новости, полной новости и в шаблонах тегов custom.

Поддерживаемые поля:
id - порядковый номер новости (число)
autor - имя автора новости (текст)
date - дата публикации (число, дата в unix формате - 1384805563)
short_story - текст короткой новости (текст)
full_story - в шаблоне короткой новости это количество символов в полном описании. В шаблоне полной новости - сам текст. (число/текст)
title - текст заголовка (текст)
descr - метатег описания (текст)
keywords - метатег "ключевые слова" (текст)
category - список категорий в которых отмечена новость (в старых версиях только первый ID из списка) (текст)
alt_name - заголовок на латинице, для формирования адреса страницы. (текст)
comm_num - количество комментариев (число)
allow_comm - комментарии разрешены (число, 1/0)
allow_main - новость публикуется на главной (число, 1/0)
approve - новость прошла модерацию (число, 1/0)
fixed - новость зафиксирована (число, 1/0)
symbol - символьный код (текст)
tags - первый тег из списка тегов (текст)
news_read - количество просмотров (число)
allow_rate - рейтинг разрешен (число, 1/0)
rating - рейтинг статьи, сумма всех значений (число)
vote_num - количество проголосовавших в рейтинге (число)
votes - голосования в новости (число, 1/0)
view_edit - отображать причину редактирования (число, 1/0)
disable_index - запретить индексацию (число, 1/0)
editdate - дата редактирования (число, дата в unix формате - 1384805563)
editor - имя редактора (текст)
reason - причина редактирования (текст)
user_id - ID автора публикации (число)
xfvalue_xxx - значение доп. поля


Разумеется для некоторых из этих тегов уже предусмотрены фиксированные теги условий, такие как: [fixed]...[/fixed], [comments]...[/comments], [poll]...[/poll], [xfgiven_xxx]...[/xfgiven_xxx] и др.
Но во первых они прописаны не для всех значений и главное - не обладают той гибкостью, что предоставляет данных хак. В чем вы можете убиться посмотрев примеры ниже.

Примеры использования:
[if id>1000]...[/if] - выведет текст для всех новостей, ID которых строго больше 1000, т.е. 1001, 1002 и т.д.
[if comm_num<=10]мало комментариев[/if] - выведет текст "мало комментариев", если в новости 10 или меньше комментариев
[if tags="2015"]Все фильмы 2015 года[/if] - выведет текст "Все фильмы 2015 года", если в новости в поле тегов введено слово "2015"
Но в то же время, если вы используете поле tags только для указания года, то можно использовать так:
[if tags=500]дорогой товар[/if] - если значение доп.поля `cost` больше или равно 500, то будет отображен текст внутри тегов
[if xfvalue_brand='Nokia']телефон нокия[/if] - если в доп.поле `brand` укано значение "Nokia", то будет выведен текст внутри тегов
[if xfvalue_video!~'vk.com/video_ext']нету видео с вконтакта[/if] - выведет текст, если в содержимом поля НЕ встречается указанный текст

Диапазон:
[if 5005000]...[/if] - будет отображен текст, если значение поля в пределах 500 - 4999 включительно
[if 100010000]...[/if] - будет выведен текст внутри тегов, если у новости количество просмотров в пределах 1000 - 9999 включительно

Перечень поддерживаемых операций:
xy - строго больше
x>=y - больше или равно
x<=y - меньше или равно
x=y - строго равно
x!=y - не равно
x~y - строка Y встречается в поле X
x!~y - строка Y не встречается в поле X
y1y2 - диапазон
где:
x - имя поля или доп.поля
y - значение, числовое или текстовое
y1 и y2 - нижняя и верхняя границы для фильтра по диапазону

Версия DLE: любая

[Контакты]
ICQ: 404-037-556
Skype: Sander8804
E-Mail: olalod@mail.ru

С уважением,
Олег Александрович a.k.a. Sander

Внимание! У Вас нет прав для просмотра скрытого текста.
dle
Вернуться
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.