icq 775084, alexz006, , icq t.me/alexz15

Если имеется конструкция вида {{@М_АКРОС('Z',X,Y)}}, то:
'Z' - любые символы для разделения выводимого контента. например, '<br>' или ', ' и тд.
X,Y - кол-во случайного контента от X до Y.
Такие макросы так же можно писать так: {{ @М_АКРОС() }} - в таком случае выведется одно случайное значение макроса.

Пример 1: {{@SNIPP_TITLE('<br>',1,5)}} - покажет на странице от 1 до 5 тайтлов из сниппета по текущему запросу, разделенным(и) тегом <br>.
Пример 2: {{@Q_IMAGES_URL_SMALL()}} - выведет на странице случайный URL на уменьшеную копию спарсенного изображения.

 


Локальные (L)

Макросы, которые ничего не парсят.

{{@L_TITLE}}

Название сайта
{{@L_TITLE}}

{{@L_QUERY}}

Текущий поисковый запрос на странице с маленькой буквы. Если пустой, например, на главной, то случайный из Кейвордов
{{@L_QUERY}}

{{@L_BQUERY}}

Текущий поисковый запрос на странице с большой буквы. Если пустой, например, на главной, то случайный из Кейвордов
{{@L_BQUERY}}

{{@L_QUERY_URL}}

URL в латинице по текущему поисковому запросу на странице (если пустой, например, на главной), то первый из Кейвордов (tekushiy-poiskoviy-zapros.html)
{{@L_QUERY_URL}}

{{@L_MAP_URL('Z',X,Y)}}

Случайный внутренний URL из карты сайта
{{@L_MAP_URL('<br>',2,5)}}

{{@L_MAP_KEY('Z',X,Y)}}

Случайный анкор из карты сайта с маленькой буквы
{{@L_MAP_KEY('<br>',2,5)}}

{{@L_MAP_BKEY('Z',X,Y)}}

Случайный анкор из карты сайта с большой буквы
{{@L_MAP_BKEY('<br>',2,5)}}

{{@L_MAP_HREF('Z',X,Y)}}

Случайная ссылка из карты сайта с маленькой буквы
{{@L_MAP_HREF('<br>',2,5)}}

{{@L_MAP_BHREF('Z',X,Y)}}

Случайная ссылка из карты сайта с большой буквы
{{@L_MAP_BHREF('<br>',2,5)}}

{{@L_RELATED_MAP_URL('Z',X,Y)}}

Похожий текущему запросу внутренний URL из карты сайта
{{@L_RELATED_MAP_URL()}}

{{@L_RELATED_MAP_KEY('Z',X,Y)}}

Похожий текущему запросу анкор из карты сайта с маленькой буквы
{{@L_RELATED_MAP_KEY('<br>',2,5)}}

{{@L_RELATED_MAP_BKEY('Z',X,Y)}}

Похожий текущему запросу анкор из карты сайта с большой буквы
{{@L_RELATED_MAP_BKEY('<br>',2,5)}}

{{@L_RELATED_MAP_HREF('Z',X,Y)}}

Похожая текущему запросу внутренняя ссылка из карты сайта с маленькой буквы
{{@L_RELATED_MAP_HREF('<br>',2,5)}}

{{@L_RELATED_MAP_BHREF('Z',X,Y)}}

Похожая текущему запросу внутренняя ссылка из карты сайта с большой буквы
{{@L_RELATED_MAP_BHREF('<br>',2,5)}}

{{@L_KEY('Z',X,Y)}}

Случайный кейворд
{{@L_KEY('<br>',2,5)}}

{{@L_BKEY('Z',X,Y)}}

Случайный кейворд с большой буквы
{{@L_BKEY('<br>',2,5)}}

{{@L_KEY_URL('Z',X,Y)}}

URL со случайным кейвордом в латинице (sluchayniy-keyword.html)
{{@L_KEY_URL()}}

{{@L_KEY_HREF('Z',X,Y)}}

Ссылка со случайным кейвордом
{{@L_KEY_HREF('<br>',2,5)}}

{{@L_BKEY_HREF('Z',X,Y)}}

Ссылка со случайным кейвордом с большой буквы
{{@L_BKEY_HREF('<br>',2,5)}}

{{@L_RELATED_KEY('Z',X,Y)}}

Похожий текущему запросу кейворд (для вывода одного кея можно прописать так: {{@L_RELATED_KEY()}})
{{@L_RELATED_KEY('<br>',2,5)}}

{{@L_RELATED_BKEY('Z',X,Y)}}

Похожий текущему запросу кейворд с большой буквы (для вывода одного кея можно прописать так: {{@L_RELATED_BKEY()}})
{{@L_RELATED_BKEY('<br>',2,5)}}

{{@L_RELATED_KEY_HREF('Z',X,Y)}}

Похожий текущему запросу кейворд-ссылка на страницу (для вывода одного кея можно прописать так: {{@L_RELATED_KEY_HREF()}})
{{@L_RELATED_KEY_HREF('<br>',2,5)}}

{{@L_RELATED_BKEY_HREF('Z',X,Y)}}

Похожий текущему запросу кейворд-ссылка на страницу с большой буквы (для вывода одного кея можно прописать так: {{@L_RELATED_BKEY_HREF()}})
{{@L_RELATED_BKEY_HREF('<br>',2,5)}}

{{@L_RELATED_KEY_URL('Z',X,Y)}}

Похожий текущему запросу URL (для вывода одного кея можно прописать так: {{@L_RELATED_KEY_URL()}})
{{@L_RELATED_KEY_URL()}}

{{@L_RANDNUM(X,Y)}}

Случайное число от X до Y.
Можно еще так:
{{mt_rand(X,Y)}}
{{@L_RANDNUM(2,5)}}

<l_randnum min="2" max="5" />

Аналог макроса {{@L_RANDNUM(X,Y)}}
<l_randnum min="2" max="5" />

{{@L_RANDIMG('folder/images')}}

Случайный урл на картинку из папки /folder/images, выведет ссылку типа folder/images/pict.jpg
{{@L_RANDIMG('folder/images')}}

<l_randimg src="folder/images" />

Аналог макроса {{@L_RANDIMG('folder/images')}}
<l_randimg src="folder/images" />

{{@L_RANDTXT('folder/txtfile.txt', 'Z', X,Y)}}

Случайная строка из файла /folder/txtfile.txt
{{@L_RANDTXT('folder/txtfile.txt', ' ', 2,5)}}

{{@L_BRANDTXT('folder/txtfile.txt', 'Z', X,Y)}}

Случайная строка из файла /folder/txtfile.txt с большой буквы
{{@L_BRANDTXT('folder/txtfile.txt', ' ', 2,5)}}

{{@L_DRANDTXT('folder/txtfile.txt', 'Z', X,Y)}}

Вывод случайной строки из файла /folder/txtfile.txt и последующее ее удаление.

Создается дополнительная нагрузка на сервер!
{{@L_DRANDTXT('folder/txtfile.txt', ' ', 2,5)}}

{{@L_BDRANDTXT('folder/txtfile.txt', 'Z', X,Y)}}

Вывод случайной строки из файла /folder/txtfile.txt с большой буквы и последующее ее удаление.

Создается дополнительная нагрузка на сервер!
{{@L_BDRANDTXT('folder/txtfile.txt', ' ', 2,5)}}

{{@L_RELATED_TXT('folder/txtfile.txt', 'Z', X,Y, B, 'Q', 'T')}}

Вывод случайной, похожей текущему запросу, строки из файла /folder/txtfile.txt, где:
Z - символ-разделитель строк;
X,Y - вывести ОТ и ДО;
B - 1 - с большой буквы, 0 - с маленькой;
Q - запрос, по которому выполняется поиск похожих строк;
T - названия тегов, которыми будут обрамляться найденные слова (u,i,strong).

Значения по умолчанию:
Z='';
X,Y=1,1;
B=0;
Q='';
T='';

Если не найдена похожая строка - выведет случайную.

Внимание! Если поиск происходит в большом файле и нет подходящей строки, то генерация страницы замедлится!
{{@L_RELATED_TXT('folder/txtfile.txt', ' ', 2,5)}}

{{@L_RANDFILE('folder')}}

Вывод случайного файла из папки folder
{{@L_RANDFILE('folder')}}

{{@L_DRANDFILE('folder')}}

Вывод случайного файла из папки folder и последующее его удаление (папка folder должна быть доступна для записи)
{{@L_DRANDFILE('folder')}}

{{@L_RANDQUOTE('ucontent/txtfile.txt','Z',X,Y)}}

Случайное предложение из файла /ucontent/txtfile.txt. Предложением считается текст до этих символов: .!?
{{@L_RANDQUOTE('folder/txtfile.txt', ' ', 2,5)}}

[Hello|[Hi|YOW]|Fuck]

Вставляется рандомный текст из указанных, разделенный «|». Можно использовать любые макросы и указывать много вариантов. Поддерживается вложенность.
[Hello|[Hi|YOW]|Fuck]

{{@L_TRANS('текст')}}

Переводит в транслит «текст» — tekst.html для получения URL
{{@L_TRANS('текст')}}

{{@L_TRANSLIT('текст')}}

Похожий с макросом L_TRANS, но используется только для перевода текста в транслит (сгенерированные с помощью него ссылки работать не будут)
{{@L_TRANSLIT('текст')}}

[STAT-X]content[/STAT]

Контент между макросами не будет меняться в пределах дорвея. X - любая уникальная метка.
[STAT-X]content[/STAT]

{{@L_DATE_TIME('d.m.Y, H:i', -X)}}

Выводит текущую дату с учетом добавления или отнимания X-часов и X-минут, где d.m.Y, H:i - шаблон вывода даты (подробнее).
Пример:
{{@L_DATE_TIME('d.m.Y, H:i', -23)}} выведет текущую дату и отнимет от нее 23 часа и 23 минуты (типа 04.10.2013, 02:52.
Можно просто написать так: {{@L_DATE_TIME()}} - покажет текущую дату и время.
{{@L_DATE_TIME('d.m.Y, H:i', -2)}}

{{@L_RANDSYM(X,Y,'Z')}}

Генерация случайных символов, где Z - символы, из которых будет генерироваться строка, X-Y - ОТ и ДО символов в строке.

Пример:
{{@L_RANDSYM(5,10,'0123456789')}} - выведет от 5 до 10 случайных цифр;
можно прописать так: {{@L_RANDSYM(5,10)}} - выведет от 5 до 10 случайных символов от a до z и от 0 до 9.
или так: {{@L_RANDSYM(10)}} - выведет 10 случайных символов от a до z и от 0 до 9.
{{@L_RANDSYM(5,7,'')}}

{{@L_GEN_NIK()}}

Сгенерирует никнейм. Макрос пишется со скобками ()!
{{@L_GEN_NIK()}}

<l_repeat count="X,Y">шаблон</l_repeat>

Шаблон будет повторятся от X до Y раз. Если Y нет, то повторит X раз.

Пример:
<l_repeat count="2,5">
строка № {COUNTER}
</l_repeat>

где {COUNTER} - номер текущего повторения.

На странице выведет:
строка № 1
строка № 2
строка № 3
<l_repeat count="2,5">
	{COUNTER}
</l_repeat>

<l_prob p="50">контент</l_prob>

С 50% вероятности выведет контент на страницу.
<l_prob p="50">контент</l_prob>

<l_href cat="Z">Текст</l_href>

Превратит Текст в ссылку, где Z - id категории или альтернативное имя категории.

Выведет:
<a href="cat/text.html" class="my_class">Текст</a>
<l_href cat="Z" class="my_class">Текст</l_href>

<l_keys_href count="X"><br></l_keys_href>

Случайная ссылка из всех кеев или карты сайта.

Поддерживаются любые html-атрибуты, а также атрибуты доргена:
count="X,Y" - от X [до Y] ссылок;
cat="X,Y" - выводить ссылки из категорий, id которых X[,Y,... и тд];
related="1" - похожие ссылки для текущей новости;
sitemap="1" - выводить только те ссылки, которые уже есть в карте сайта;

Выведет:
<a href="keyword.html" title="Кейворд" class="my_class">Кейворд</a>
<l_keys_href count="10" class="my_class"><br></l_keys_href>

<l_redirect href="PATH" url="URL">Анкор</l_redirect>

При переходе на страницу PATH сработает редирект на URL.

Выведет:
<a href="path/">Кейворд</a>
<l_redirect href="path/" url="http://google.com/search?q={{@L_QUERY}}" target="_blank" style="color:green">{{@L_QUERY}}</l_redirect>

<l_max_words count="X">Контент</l_max_words>

Обрежет Контент до X слов.
<l_max_words count="30">Контент</l_max_words>

<no_cache>Y</no_cache>

Вместо Y можно вставить любой контент, который не будет кешироваться. Это могут быть, например, короткие новости.

Пример:
тут html, закешированный контент

<no_cache>

{{ @L_RANDNUM(1, 1000) }} {* - на странице будет выводиться постоянно разное число *}

</no_cache>

html, контент


Внимание! Шаблон все также кешируется! Не кешируются ТОЛЬКО результаты выполнения кода в блоке <no_cache>Y</no_cache>
<no_cache>Y</no_cache>

<gen_img>Text</gen_img>

Сгенерирует уникальную картинку, где Text - текст, который будет добавлен в картинку (не обязательно).
Атрибуты:
width="400,500" - ширина ОТ и ДО. Можно указать одно значение;
height="300,400" - высота ОТ и ДО. Можно указать одно значение;
count="200,500" - кол-во фигур в картинке;
arc="1" - дуги;
text="1" - цифры и буквы;
string="1" - маленькие цифры и буквы;
ellipse="1" - эллипсы;
rectangle="1" - прямоугольники;
alpha="1" - прозрачность фигур.

Поддерживаются другие атрибуты типа alt, class и тд.
<gen_img width="400,500" height="300" count="200,500" arc="1" text="1" string="1" ellipse="1" rectangle="1" alpha="1" alt="{{@L_BQUERY}}" class="my_class">Text</gen_img>

{{@GEN_IMG(X,Y,'Text')}}

Аналог макроса <gen_img>Text</gen_img>, где:
X - ширина;
Y - высота;
Text - текст, который будет добавлен в картинку.
{{@GEN_IMG(500,300,@L_BQUERY)}}

<text_to_img>Text</text_to_img>

Сгенерирует уникальную картинку из Текста.
Атрибуты:
width="400,500" - ширина ОТ и ДО. Можно указать одно значение;
font_size="15" - размер шрифта;
color="#000" - цвет текста;
bgcolor="#ffffff" - цвет фона картинки;
bgimage="images/stars.jpg" - фоновое изображение, которое будет добавлено в картинку;
bgrotate="1" - рандомный поворот фона;
font="" - путь к файлу шрифтов TTF. Если пусто, то используется Arial;
name="" - имя файла изображения. Если пусто, то сгенерируется на основе текущего кея;

Поддерживаются другие атрибуты типа alt, class и тд.
<text_to_img width="400,500" font_size="15" color="#000" bgcolor="#ffffff" bgimage="images/stars.jpg" bgrotate="1" font="" name="" alt="{{@L_BQUERY}}" class="my_class">Text</text_to_img>

{{@TEXT_TO_IMG('text'...)}}

Аналог макроса <text_to_img>Text</text_to_img>

Передаваемые параметры идут в следующем порядке:
text, width, font_size, color, bgcolor, bgimage, bgrotate, name, font

Пример:
<img src="{{@TEXT_TO_IMG(@L_QUERY,300,12,'#000','#ffffff','images/stars.jpg',1,'','')}}" />
{{@TEXT_TO_IMG(@L_QUERY,300,12,'#000','#ffffff','images/stars.jpg',1,'','')}}

<my_img src="http://site.com/img.png" />

Скачает удаленную картинку http://site.com/img.png в папку uploads и выведет тег <img /> с локальным путем картинки.

Макрос можно прописать еще так:
<my_img>
<img src="http://site1.com/img1.png" />
<img src="http://site2.com/img2.jpg" />
</my_img>
<my_img src="http://site.com/img.png" width="500" height="300" alt="{{@L_BQUERY}}" class="my_class" />

{{@MY_IMG('http://site.com/img.png')}}

Аналог макроса <my_img src="http://site.com/img.png" />

Пример:
<img src="{{@MY_IMG('http://site.com/img.png')}}" />
{{@MY_IMG('http://site.com/img.png')}}

<decl_of_num num="X" t1="T1" t2="T2" t3="T3" />

Склонение по падежам исходя из числа X, где:
X - число;
T1, T2, T3 - Текст для склонения.

Пример:
<decl_of_num num="20" t1="комментарий" t2="комментария" t3="комментариев" /> - выведет "20 комментариев".

В "X" поддерживаются макросы.
<decl_of_num num="20" t1="комментарий" t2="комментария" t3="комментариев" />

{{@DECL_OF_NUM(X, T1, T2, T3)}}

Аналог макроса <decl_of_num num="X" t1="T1" t2="T2" t3="T3" />

Пример:
{{@DECL_OF_NUM(2, 'комментарий', 'комментария', 'комментариев')}} - выведет "2 комментария".

В "X" поддерживаются макросы.
{{@DECL_OF_NUM(2, 'комментарий', 'комментария', 'комментариев')}}

Генерация контента (L)

Используется для уникализации контента.

<panchenko count="X[,Y]">текст</panchenko>

Генерация по алгоритму Панченко от X до Y предложений, где текст - контент, но основе которого будет сгенерирован новый контент.
<panchenko count="15,20">текст</panchenko>

<markov count="X[,Y]">текст</markov>

Генерация с помощью цепей Маркова от X до Y предложений, где текст - контент, но основе которого будет сгенерирован новый контент.
<markov count="15,20">текст</markov>

<insert_to_text count="X[,Y]">текст</insert_to_text>

Вставляет в текст кейворд или ссылку на страницу согласно атрибутам:
insert="T", где "T" - тип:
- query - текущий запрос
- key - случайный кейворд
- key_href - случайный кейворд ссылкой
- map - ссылка из карты
- multi_map:название группы - ссылка из карты для случайного домена из указанной группы доменов.
Если группа не указана, то выведет случайную ссылку из карты случайного домена из любой группы.
- file_line - вставка строки из файла в текст (требуется атрибут file).
- file_quote - вставка предложения из файла в текст (требуется атрибут file).
- rss_title - вставка случайного тайтла из rss ленты в текст (требуется атрибут rss_url).
- rss_quote - вставка случайного предложения ленты из rss тега <description> в текст (требуется атрибут rss_url).
- rss_content - вставка случайного контента из rss тега <description> в текст (требуется атрибут rss_url).
Если прописать типы (Т) через запятую, то будет рандомная вставка из указанных типов.
cat="id_категории" - вставка кеев из нужной категории.
count="X[,Y]" - кол-во вставок, где X - от [Y - до]
parts="0" - разбить кей на слова (1 - да, 0 - нет)
tags="strong,u,i" - рандомные названия тегов через запятую, которые будут обрамлять вставки
file="path_to_file.txt" - работает совместно с атрибутами insert=file_line и insert=file_quote - путь к файлу, из которого нужно вставить контент.
rss_url="url_to_feed.rss" - работает совместно с атрибутами insert=rss_title, insert=rss_quote и insert=rss_content - URL адрес RSS-ленты, из которой нужно вставить контент.
quote_sep=".,!?" - работает совместно с атрибутами insert=file_quote и insert=rss_quote - разделитель предложений (если не указать, то по умолчанию ".!?").

Внимание! Вставляйте этот макрос на уже окончательно сгенерированный текст. То есть типа:
<insert_to_text count="2"><panchenko count="10">{{@DONOR_CONTENT(' ',10,15)}}</panchenko></insert_to_text>
но не наоборот!
<insert_to_text insert="query,key,key_href,map" count="1,3" parts="0" tags="strong,u,i">текст</insert_to_text>

Макросы новостей (N)

С помощью эти макросов можно выводить короткие новости и тд.

<full_news short_words="Z" />

<full_news short_words="Z"> текст </full_news>,
где текст - сгенерированный текст другим макросом, Z - кол-во слов, которое должно быть в короткой новости.

Если прописать макрос как в примере выше, то этот текст запишется в базу данных в виде короткой и полной новости.

Если в базе уже присутствует текст, то макрос выведет его.

Если прописать макрос так
<full_news />,
то он будет лишь выводить полную новость из базы, если она есть. Если полной новости в базе нет - ничего не выведет.
<full_news short_words="30">текст</full_news>

{{@FULL_NEWS('текст', 30)}}

Эквивалент <full_news short_words="30">текст</full_news>
{{@FULL_NEWS('текст', 30)}}

<short_news />

Выводит короткую новость из 30 слов, указанных в макросе <full_news short_words="30">

Макрос <short_news /> зависит напрямую от наличия в шаблоне макроса <full_news /> - если его нет, то <short_news /> ничего не выведет.

Он также ничего не выведет, если полная и короткая новость не разделена тегом <!--more-->
<short_news />

{{@SHORT_NEWS()}}

Эквивалент <short_news />
{{@SHORT_NEWS()}}

<user_data id="my_id" words="0" tags="1" />

Выведет пользовательские данные с меткой (id) my_id, где: words="0" - урезание контента до указанного кол-ва слов (0 - выводить весь текст), tags="1" - выводить контент с тегами или нет.

Можно прописать макрос так:
<user_data id="my_id">Контент</user_data>,
где Контент - любой сгенерированный динамически контент. Тогда в базу данных сохранятся пользовательские данные (Контент) с меткой my_id, и при генерации новой страницы этот Контент будет выведен.
<user_data id="my_id" words="0" tags="1" />

{{@USER_DATA('my_id')}}

Аналог макроса <user_data id="my_id" />.

Передаются параметры в следующем порядке:
id, text (если его нет, то макрос выведет существующие данные из базы), words, tags.

Пример 1:
{{@USER_DATA('my_id', '', 0, 1)}}
Пример 2:
{{@USER_DATA('my_id')}}
{{@USER_DATA('my_id', '', 0, 1)}}

<get_news>шаблон</get_news>

Вывод новостей из базы.
Поддерживает такие атрибуты:

count="X,Y" - от X [до Y] новостей;
related="1" - похожие новости для текущей новости;
cached="X" - где X:
  0 - выводить только НЕ закешированные новости,
  1 - выводить только закешированные новости,
  2 - выводить все новости.
  Значение по умолчанию - 1;
pagination="1" - указывает, что для эти новостей будет работать пагинация (см. ниже макрос <pagination />);
sort="Z" - сортировка новостей, где Z может быть таким:
  - date_desc - сортировка по дате по убыванию
  - date_asc - сортировка по дате по возрастанию
  - id_desc - сортировка по ID новости по убыванию
  - id_asc - сортировка по ID новости по возрастанию
sitemap="1" - выводить только те новости, ссылки на которые уже есть в карте сайта;
cat="X" - выводить новости из категорий, id которых X[,Y,... и тд];
  - Если прописать пустой атрибут cat="", то будет выводить новости, у которых категория не присвоена.
date="Z" - выводить новости, которые опубликованы Z:
  - day - за сегодняшний день
  - week - за неделю
  - month - за месяц
  - year - за год

Шаблон макроса <get_news /> поддерживает следующие макросы:
{KEY} - кейворд с маленькой буквы
{BKEY} - кейворд с большой буквы
{URL} - URL на новость
{POSTER_URL} - URL на постер для новости, скопированный макросом {URL_POSTER}image.jpg{/URL_POSTER} или <img_poster src="image.jpg" />
{META_DESCRIPTION} - meta_description новости
{TAGS_TITLE} - теги новости
{TAGS_HREF} - теги новости в виде ссылок
{SHORT_NEWS} - короткая новость
{FULL_NEWS} - полная новость
{DATE_CACHED('d.m.Y, H:i',-23)} - время кеширования новости и минус 23 часа и 23 минуты
  Вариатны написания макроса:
  - {DATE_CACHED('d.m.Y, H:i',-23)}
  - {DATE_CACHED('d.m.Y, H:i')}
  - {DATE_CACHED}
  - {DATE_CACHED('',0,1)} - выведет 01 ОКТ 2018 (без минут и секунд)
{USER_DATA-Z} - пользовательские данные, где Z - метка данных (или id), которые нужно вывести
{CATEGORY_ID} - id категорий через запятую, к которым принадлежит новость
{CATEGORY_ALT} - альтернативное имя категорий через запятую, к которым принадлежит новость
{CATEGORY_TITLE} - имена категорий через запятую, к которым принадлежит новость
{CATEGORY_HREF} - ссылки на категории через запятую, к которым принадлежит новость
{COMMENTS_COUNT} - кол-во комментариев в новости
{COUNTER} - число повторений макроса <get_news>

Пример:
<get_news count="5" cat="1,4">
<a href="{URL}" title="{KEY}">{BKEY}</a> ({DATE_CACHED('d.m.Y, H:i',0)}) <br>
{SHORT_NEWS}<br><br>
</get_news>


Выведет 5 новостей из категорий, id которых 1 и 4. Типа:
<a href="keyword.html" title="кейворд">Кейворд</a> (23.12.2016, 01:15) <br> Короткая новость<br><br>
...
<get_news count="5" cached="2" sort="date_desc">
	<a href="{URL}" title="{KEY}">{BKEY}</a>
</get_news>

<pagination range="3" />

Выводит пагинацию новостей для макроса <get_news pagination="1" /> (в котором указан атрибут pagination="1"), где range="3" - область ссылок.
<pagination range="3" />

<page_tags href="1" sep=", " class="tags" />

Выведет теги в виде ссылок для текущей страницы.
Если не указать атрибут href, то выведет просто текстом.
<page_tags href="1" sep=", " class="tags" />

{{@PAGE_TAGS(', ', 1)}}

Эквивалент <page_tags href="1" sep=", " class="tags" />
{{@PAGE_TAGS(', ', 1)}}

<img_poster src="image.jpg" />

<img_poster src="image.jpg" /> - запишет ссылку в базу данных как постер для новости и выведет в виде тега: <img src="image.jpg" />

Если прописать макрос так:
<img_poster />,
то он будет лишь выводить ссылку из базы данных.
<img_poster src="{{ @Q_IMAGES_URL_SMALL() }}" alt="" align="left" />

{URL_POSTER}image.jpg{/URL_POSTER}

Второй вариант записи URL картинки как постер для новости.
<q_images count="1" sepage="2" mark="X" rand="1">
	<a href="{URL_BIG}" class="image">
		<img src="{URL_POSTER}{URL_SMALL}{/URL_POSTER}" alt="{{ @SNIPP_TITLE() }}" align="left" />
	</a>
</q_images>

{{@URL_POSTER('image.jpg')}}

Третий вариант записи URL картинки как постер для новости - запишет в базу как постер для новости и выведет его URL.
{{@URL_POSTER('image.jpg')}}

{{@DATE_CACHED('d.m.Y, H:i', -X)}}

Работает в шаблоне page.html и выводит дату кеширования страницы с учетом добавления или отнимания X-часов и X-минут, где d.m.Y, H:i - шаблон вывода даты (подробнее).
Пример:
{{@DATE_CACHED('d.m.Y, H:i', -23)}} выведет дату кеширования страницы и отнимет от нее 23 часа и 23 минуты (типа 04.10.2013, 02:52.
Можно просто написать так: {{@DATE_CACHED()}} или {{@DATE_CACHED('',0,1)}} - покажет дату и время кеширования страницы.
{{@DATE_CACHED('d.m.Y, H:i', -2)}}

Поиск, теги и сортировка (T)

Макросы для шаблонов поиска (search.html), тегов (tags.html) и сортировки (sort.html). В шаблонах также поддерживаются и другие макросы доргена.

<search_result>шаблон</search_result>

Выведет из базы данных новости соответствующие запросу поиска или тега.

Шаблон макроса <search_result /> поддерживает следующие макросы:
{KEY} - кейворд с маленькой буквы
{BKEY} - кейворд с большой буквы
{URL} - URL на новость
{META_DESCRIPTION} - meta_description новости
{TAGS_TITLE} - теги новости
{TAGS_HREF} - теги новости в виде ссылок
{SHORT_NEWS} - короткая новость
{FULL_NEWS} - полная новость
{DATE_CACHED('d.m.Y, H:i',-23)} - время кеширования новости и минус 23 часа и 23 минуты
  Вариатны написания макроса:
  - {DATE_CACHED('d.m.Y, H:i',-23)}
  - {DATE_CACHED('d.m.Y, H:i')}
  - {DATE_CACHED}
  - {DATE_CACHED('',0,1)} - выведет 01 ОКТ 2018 (без минут и секунд)
{USER_DATA-Z} - пользовательские данные, где Z - метка данных (или id), которые нужно вывести
{CATEGORY_ID} - id категорий через запятую, к которым принадлежит новость
{CATEGORY_ALT} - альтернативное имя категорий через запятую, к которым принадлежит новость
{CATEGORY_TITLE} - имена категорий через запятую, к которым принадлежит новость
{CATEGORY_HREF} - ссылки на категории через запятую, к которым принадлежит новость
{COMMENTS_COUNT} - кол-во комментариев в новости
{COUNTER} - число повторений макроса <search_result>

Пример:
<search_result>
<p><a href="{URL}">{BKEY} <p style="padding-bottom:10px">
<a href="{URL}"><img src="{POSTER_URL}" alt="{KEY}" title="{KEY}" align="left" /></a> {SHORT_NEWS}...
</p>
</search_result>

<search_result>
	<p>
		<a href="{URL}">{BKEY}</a></p><p style="padding-bottom:10px"><a href="{URL}">
			<img src="{POSTER_URL}" alt="{KEY}" title="{KEY}" align="left" />
		</a>
		{SHORT_NEWS}...
	</p>
</search_result>

{{@pagination|raw}}

Пагинация для результатов поиска
{{@pagination|raw}}

Контент (Q)

Макросы парсинга текстовки по текущему поисковому запросу. То есть, например мы на этой странице http://mydor.com/smeshnoe-domashnie-video.html, значит текущий поисковый запрос "Смешное домашние видео"

{{@SNIPP_URL('Z',X,Y)}}

Выведет указанное кол-во случайных URL'ов на новые страницы, сгенерированные на основе Тайтлов из сниппетов.

Внимание! Использование данного макроса может привести к неконтролируемому добавлению новых страниц в базу данных!
{{@SNIPP_URL()}}

{{@SNIPP_TITLE('Z',X,Y)}}

Выведет указанное кол-во случайных Тайтлов из сниппета.
{{@SNIPP_TITLE(' ',1,3)}}

{{@SNIPP_DESCRIPTION('Z',X,Y)}}

Выведет указанное кол-во случайных предложений из сниппета.
{{@SNIPP_DESCRIPTION(' ',3,5)}}

{{@DONOR_CONTENT('Z',X,Y)}}

Выведет указанное кол-во случайных предложений из спарсенных сайтов-доноров.
{{@DONOR_CONTENT(' ',3,5)}}

<q_content>шаблон</q_content>

Парсинг текста по запросу.
Поддерживает такие атрибуты:

count="2,5" - от 2 [до 5] повторений шаблона;
sepage="1,2" - с какой страницы начать парсинг ПС;
donors="5" - кол-во доноров, которые нужно спарсить. Если не указать атрибут или 0, то доноры парсить не будет;
min_donors="3" - минимальное кол-во успешно спарсенных доноров;
query="запрос" - поисковый запрос. Если не указан, то будет текущий поисковый запрос;
mark="X" - метка макроса: если в шаблоне имеется несколько макросов <q_content /> и для них указаны одинаковые метки, то контент будет парсится один раз и распределяться на эти макросы.
Если метки разные или их вообще нет, то для каждого макроса будет отдельный парсинг;
rand="1" - перемешивать предложения или нет (1 - да, 0 - нет).

Шаблон макроса <q_content /> поддерживает внутри такие макросы:
  - {SNIPP_URL} - выведет случайный URL на новую страницу, сгенерированный на основе Тайтлов из сниппетов.
Внимание! Использование данного макроса может привести к неконтролируемому добавлению новых страниц в базу данных!
  - {SNIPP_TITLE} - выведет случайный Тайтл из сниппета;
  - {SNIPP_DESCRIPTION} - выведет случайное предложение из сниппета;
  - {DONOR_CONTENT} - выведет случайное предложение из спарсенных сайтов-доноров;

В свою очередь выше указанные {МАКРОСЫ} поддерживают следующие параметры:
  {МАКРОС-(X,Y)-(Z)-[metka[i]]}, где:
  X и Y - ОТ и ДО кол-ва контента;
  Z - разделитель (напр., <br> или " ");
  metka - любая метка, с помощью которой можно вывести одинаковые результаты {МАКРОСА};
  [i] - счетчик повторений шаблона <q_content />.
Любые параметры не обязательны.

Пример:
<q_content count="2,5" sepage="1,2" donors="5" min_donors="3" query="" mark="X" rand="0">
<a href="{SNIPP_URL-[title[i]]}" title="{SNIPP_TITLE-[title[i]]}">{SNIPP_TITLE-[title[i]]}</a><br>
<h4>{SNIPP_TITLE-[title[i]]}</h4> - {SNIPP_DESCRIPTION-(2)}
{DONOR_CONTENT-(2,5)}
</q_content>

<q_content count="2,5" sepage="2" donors="5" min_donors="3" query="" mark="X" rand="0">
	{DONOR_CONTENT-(1,3)}
</q_content>

Картинки (Q)

Макросы парсинга изображений по текущему поисковому запросу.

{{@Q_IMAGES_URL_SMALL('Z',X,Y)}}

Выведет указанное кол-во случайных URL'ов на уменьшеные копии спарсенных изображений.
{{@Q_IMAGES_URL_SMALL()}}

{{@Q_IMAGES_URL_BIG('Z',X,Y)}}

Выведет указанное кол-во случайных URL'ов на полные копии спарсенных изображений.
{{@Q_IMAGES_URL_BIG()}}

<q_images>шаблон</q_images>

Парсинг картинок по запросу.
Поддерживает такие атрибуты:
count="2,5" - от 2 [до 5] повторений шаблона;
sepage="1,2" - с какой страницы начать парсинг ПС;
query="запрос" - поисковый запрос. Если не указан, то будет текущий поисковый запрос;
mark="X" - метка макроса: если в шаблоне имеется несколько макросов <q_images /> и для них указаны одинаковые метки, то контент будет парсится один раз и распределяться на эти макросы.
Если метки разные или их вообще нет, то для каждого макроса будет отдельный парсинг;
rand="1" - перемешивать результаты парсинга или нет (1 - да, 0 - нет).
Атрибуты фитров изображений:
brightness="0" - Adjust brightness (range:-255 to 255)
contrast="0" - Adjust contrast (range:-100 to 100)
invert="0" - Invert image (0 or 1)
gray="0" - Convert to grayscale (0 or 1)
smooth="0" - Adjust smoothness (range: -8 to 8, but as its been used for a matrix operation, greater values are applyable too, but may lead to unusable results.)
emboss="0" - Emboss the image (0 or 1)
sepia="0" - Apply sepia effect (0 or 1)
pixelate="0" - Pixelate the image (range: 0 - 100)
blur="0" - Blur the image using Gaussian filter (0 or 1)
sketch="0" - Apply sketch effect (0 or 1)
hflip="0" - Flip on horizontal axis (0 or 1)
vflip="0" - Flip on vertical axis (0 or 1)
rotate="0" - Rotate image (range:-180 to 180)

Шаблон макроса <q_images /> поддерживает внутри такие макросы:
  - {URL_SMALL} - URL на уменьшенную копию изображения;
  - {URL_BIG} - URL на полную копию изображения;

Пример:
<q_images count="5" sepage="1" query="" mark="X" rand="1">
<a href="{URL_BIG}"><img src="{URL_SMALL}" alt="" /></a><br>
</q_images>

<q_images count="5" sepage="1" query="" mark="X" rand="1" brightness="0" contrast="0" invert="0" gray="0" smooth="0" emboss="0" sepia="0" pixelate="0" sketch="0" hflip="0" vflip="0" rotate="0">
	<img src="{URL_SMALL}" alt="" />
	<br>
</q_images>

Видео (Q)

Макросы парсинга видео по текущему поисковому запросу.

{{@Q_VIDEO_URL('Z',X,Y)}}

Выведет URL на новую страницу, сгенерированный на основе Названия видео.
Внимание! Использование данного макроса может привести к неконтролируемому добавлению новых страниц в базу данных!
{{@Q_VIDEO_URL()}}

{{@Q_VIDEO_HREF('Z',X,Y)}}

Выведет ссылку на новую страницу, сгенерированную на основе Названия видео.
Внимание! Использование данного макроса может привести к неконтролируемому добавлению новых страниц в базу данных!
{{@Q_VIDEO_HREF('<br>',3,5)}}

{{@Q_VIDEO_TITLE('Z',X,Y)}}

Выведет Название видео.
{{@Q_VIDEO_TITLE(' ',3,5)}}

{{@Q_VIDEO_DESCRIPTION('Z',X,Y)}}

Выведет описание видео (если есть).
{{@Q_VIDEO_DESCRIPTION(' ',3,5)}}

{{@Q_VIDEO_POSTER('Z',X,Y)}}

Выведет оригинальный URL на постер из видео.
{{@Q_VIDEO_POSTER()}}

{{@Q_VIDEO_POSTER_SMALL('Z',X,Y)}}

Выведет URL на уменьшенное изображение постера из видео.
{{@Q_VIDEO_POSTER_SMALL()}}

{{@Q_VIDEO_POSTER_BIG('Z',X,Y)}}

Выведет URL на полное изображение постера из видео.
{{@Q_VIDEO_POSTER_BIG()}}

{{@Q_VIDEO_EMBED('Z',X,Y)}}

Видео-плеер Сервиса.
{{@Q_VIDEO_EMBED()}}

{{@Q_VIDEO_MY_EMBED('Z',X,Y)}}

Видео-плеер Uppod. Поддерживаются только YouTube и RuTube - для других парсеров данный макрос эквивалентен макросу {{@Q_VIDEO_EMBED}}.
{{@Q_VIDEO_MY_EMBED()}}

<q_videos>шаблон</q_videos>

Парсинг видео по запросу.
Поддерживает такие атрибуты:
count="2,5" - от 2 [до 5] повторений шаблона;
sepage="1,2" - с какой страницы начать парсинг ПС;
query="запрос" - поисковый запрос. Если не указан, то будет текущий поисковый запрос;
mark="X" - метка макроса: если в шаблоне имеется несколько макросов <q_images /> и для них указаны одинаковые метки, то контент будет парсится один раз и распределяться на эти макросы.
Если метки разные или их вообще нет, то для каждого макроса будет отдельный парсинг;
rand="1" - перемешивать результаты парсинга или нет (1 - да, 0 - нет).

Шаблон макроса <q_content /> поддерживает внутри такие макросы:
  - {VIDEO_URL} - выведет URL на новую страницу, сгенерированный на основе Названия видео;
  - {VIDEO_HREF} - выведет ссылку на новую страницу, сгенерированную на основе Названия видео.
Внимание! Использование макросов {VIDEO_URL} и {VIDEO_HREF} может привести к неконтролируемому добавлению новых страниц в базу данных!
  - {VIDEO_TITLE} - выведет Название видео;
  - {VIDEO_DESCRIPTION} - выведет описание видео (если есть);
  - {VIDEO_POSTER} - выведет оригинальный URL на постер из видео;
  - {VIDEO_POSTER_SMALL} - выведет URL на уменьшенное изображение постера из видео;
  - {VIDEO_POSTER_BIG} - выведет URL на полное изображение постера из видео;
  - {VIDEO_EMBED} - видео-плеер Сервиса;
  - {MY_EMBED} - видео-плеер Uppod. Поддерживаются только YouTube и RuTube - для других парсеров данный макрос эквивалентен макросу {VIDEO_EMBED}.

Пример:
<q_videos count="1" sepage="2" query="" mark="X" rand="1">
{MY_EMBED} </q_videos>

<q_videos count="1" sepage="2" query="" mark="X" rand="0">
	{MY_EMBED}
</q_videos>

Служебные (S)

Используются для вывода различных путей, категорий и тд.

{{@HOST}}

Домен сайта: site.ru
{{@HOST}}

{{@S_DOR_URL}}

Url к папке дора: http://site.ru/dor1/
{{@S_DOR_URL}}

{{@S_RSS_URL}}

Url на RSS-ленту дора: http://site.ru/rss/
{{@S_RSS_URL}}

{{@S_SITEMAP_URL}}

URL на карту сайта
{{@S_SITEMAP_URL}}

{{@S_TEMPL}}

Путь к текущему шаблону my_template/
{{@S_TEMPL}}

{{@S_TEMPL_REAL}}

Выводит реальный путь к шаблону, в то время как при включенной опции "Отображать путь к шаблону /templates/название_шаблона/, вместо /public/view/templates/название_шаблона/" {{@S_TEMPL}} выводит сокращенный путь.
{{@S_TEMPL_REAL}}

{{@S_CAT_ID}}

ID текущей категории
{{@S_CAT_ID}}

{{@S_CAT_TITLE}}

Название текущей категории
{{@S_CAT_TITLE}}

{{@S_CAT_DESCRIPTION|raw}}

Описание текущей категории
{{@S_CAT_DESCRIPTION|raw}}

{{@S_CAT_ALT}}

Альтернативное имя текущей категории
{{@S_CAT_ALT}}

{{@S_CAT_HREF}}

Ссылка на текущую категорию
{{@S_CAT_HREF}}

{{@S_CAT_BREADCRUMBS}}

Хлебные крошки из категорий
{{@S_CAT_BREADCRUMBS}}

{{@S_PAGE_CAT_ID}}

Все ID категорий через запятую, принадлежащие к текущей новости
{{@S_PAGE_CAT_ID}}

{{@S_PAGE_CAT_ALT}}

Все альтернативные имена категорий через запятую, принадлежащие к текущей новости
{{@S_PAGE_CAT_ALT}}

{{@S_PAGE_CAT_TITLE}}

Все названия категорий через запятую, принадлежащие к текущей новости
{{@S_PAGE_CAT_TITLE}}

{{@S_PAGE_CAT_HREF}}

Все ссылки на категории через запятую, принадлежащие к текущей новости
{{@S_PAGE_CAT_HREF}}

<s_include href="file.txt" />

Выведет содержимое файла file.txt
Эквивалент функции на PHP file_get_contents("file.txt")
В шаблоне можно прямо так и прописать эту функцию:
{{file_get_contents("file.txt")}}
<s_include href="file.txt" />

<meta_keywords />

Выведет тег <meta name="keywords" content="кейворды, для, страницы" />
<meta_keywords />

<meta_description />

Выведет тег <meta name="description" content="Описание для страницы" />
<meta_description />

<liveinternet />

Выведет универсальный код невидимого счетчика liveinternet.ru
Рекомендуется вставлять этот макрос в шаблоне сразу после тега <body>
<liveinternet />

stats_code

Код невидимого счетчика модуля Статистики.
Этот код нужно вставить во все шаблоны сразу после тега <body>
<script type="text/javascript">
	var q = '{{str_replace(array('/', '+'), array('_', '-'), base64_encode(@L_QUERY))}}',
	js = document.createElement('script');
	js.type = 'text/javascript';
	js.src = "{{@BASE}}{{Stats::instance()->slog}}?"+Math.random();
	document.body.appendChild(js);
</script>

<menu_cats />

Выведет меню из категорий. Поддерживает любые HTML-атрибуты, а также следующие:

li_class_active="active", где active - любое имя css-класса, которое будет присваиваться активной категории;
first_link="{{@S_DOR_URL}},Главная" - встроит в меню первую ссылку, где {{@S_DOR_URL}} и Главная - URL и анкор соответственно;
last_link="{{@S_SITEMAP_URL}},Карта" - встроит в меню последнюю ссылку, где {{@S_SITEMAP_URL}} и Карта - URL и анкор соответственно.

Выведет что-то типа:
<ul>
<li>Категория 1</li>
<li>Категория 2</li>
</ul>

Если имеются подкатегории, то меню так же будет вложенным.
<menu_cats class="navbar cf" li_class_active="active" first_link="{{@S_DOR_URL}},Главная" last_link="{{@S_SITEMAP_URL}},Карта" />

<check_data />

Макрос проверяет присутствует ли значение в указанном макросе.
В отличии от макроса <check if="...">...</check> данный макрос также может проверять следующие макросы:
{{@FULL_NEWS()}}
{{@SHORT_NEWS()}}
{{@USER_DATA('my_id')}}
{{@URL_POSTER()}}

Пример:
<check_data if="{{@USER_DATA('my_id')}}">
<data_true>my_id: {{@USER_DATA('my_id')}}</data_true>
<data_false>Пусто!</data_false>
</check_data>


Можно еще прописать так:
<check_data true="{{@USER_DATA('my_id')}}">
my_id: {{@USER_DATA('my_id')}}
</check_data>


<check_data false="{{@USER_DATA('my_id')}}">
Пусто!
</check_data>
<check_data if="{{@USER_DATA('my_id')}}">
	<data_true>my_id: {{@USER_DATA('my_id')}}</data_true>
	<data_false>Пусто!</data_false>
</check_data>

{{@CHECK_DATA(data)}}

Похож на макрос <check_data />, но только может возвращать одно из двух значений: true или false.

Примеры:
{{@CHECK_DATA(@USER_DATA('my_id'))?'<span>my_id: '[email protected]_DATA('my_id').'</span>':'Пусто!'}}

<check if="{{@CHECK_DATA(@USER_DATA('my_id'))}}">
<true>my_id: {{@USER_DATA('my_id')}}</true>
<false>Пусто!</false>
</check>
{{@CHECK_DATA(@USER_DATA('my_id'))?'<span>'[email protected]_DATA('my_id').'</span>':''}}

Карта сайта (M)

Макросы для шаблона карты сайта (sitemap.html). В шаблоне также поддерживаются и другие макросы доргена.

{{@page}}

Номер страницы карты сайта
{{@page}}

{{@links|raw}}

Список ссылок на закешированные страницы сайта
{{@links|raw}}

{{@pagination|raw}}

Пагинация для карты сайта
{{@pagination|raw}}

Страницы ошибок (E)

Макросы для шаблона ошибок 403, 404 и 500 (error.html). В шаблоне также поддерживаются и другие макросы доргена.

{{@ERROR.code}}

Код ошибки
{{@ERROR.code}}

{{@ERROR.status}}

Статус ошибки
{{@ERROR.status}}

{{@ERROR.text}}

Текст ошибки
{{@ERROR.text}}

{{@ERROR.trace|raw}}

Источник ошибки (он не будет выводиться при отключенной опции вывода отладочной информации).
{{@ERROR.trace|raw}}

Модуль комментариев (I)

Макросы модуля комментариев.

{{@I_COMM_KEY_PAGE('Z',X,Y)}}

Выведет поисковые запросы с текущей страницы, по которым пришли с ПС.
{{@I_COMM_KEY_PAGE('<br>', 5, 10)}}

{{@I_COMM_KEY_PAGE_LINK('Z',X,Y)}}

Выведет поисковые запросы с текущей страницы ссылками на новые страницы сайта (кеи по которым пришли на сайт).

Внимание! Использование данного макроса может привести к неконтролируемому добавлению новых страниц в базу данных!
{{@I_COMM_KEY_PAGE_LINK('<br>', 5, 10)}}

{{@I_COMM_KEY_LAST('Z',X,Y)}}

Выведет все последние поисковые запросы, по которым пришли с ПС.
{{@I_COMM_KEY_LAST('<br>', 5, 10)}}

{{@I_COMM_KEY_LAST_LINK('Z',X,Y)}}

Выведет все последние поисковые запросы, по которым пришли с ПС ссылками на страницы, где они были добавлены.
{{@I_COMM_KEY_LAST_LINK('<br>', 5, 10)}}

Макросы F3

Дополнительно в шаблонах можно использовать макросы Fat-Free Framework. Описания макросов смотрите на официальном сайте.