Кодировка файла - UTF-8, переносы строки не важны Настройки шаблона. Хранятся в файле template_settings.ini в корневом каталоге шаблона. Если файла нет, используются настройки по умолчанию. Файл не копируется в результирующую папку. Формат файла настроек (если настройка по-умолчанию, то её значение можно не вписывать): [template_settings] template_regexp=.+\.html - Регулярное выражение для файлов, в которых производятся замены. Остальные файлы копируются как есть. static_regexp=.+shared(\\.+)? - Регулярное выражение для файлов и папок, которые не будут каждый раз копироваться в подпапки при выгрузке подгруппы. subgroups_in_subdirs=1 - Для каждой подгруппы создаётся отдельная подпапка, в которую копируются все файлы из папки шаблона исключая те, что указаны в static_regexp. start_marker_begin= - Конечный маркер начала блока. finish_marker_begin= - Конечный маркер окончания блока. extension_delimiter= - Разделитель имени и расширения блока, если оно есть (значение по умолчанию - пробел). variable_begin=% - Маркер начала переменной variable_end=% - Маркер окончания переменной escape_mode=0 - Режим экранирования: 0 - нет, 1 - CSV (" -> ""), 2 - JSON (\" \\ \t \n \r) trim_last_repeat= - Строка, которую нужно обрезать в конце последнего repeat-блока (например, запятая или
) images_folder=images - Папка, в которую будут складываться изображения, сгенерированные программой (для каждой подгруппы своя, уже должна быть создана) images_width=700 - Ширина создаваемых программой изображений images_height=400 - Высота создаваемых программой изображений browser_open_file=index.html - Имя файла для открытия в браузере после формирования отчёта Блоки. В HTML-коде блоки выглядят так (при условии дефолтных маркеров): HTML-код Имя блока помещается между соответствующими маркерами. Расширение имени отделяется от имени блока разделителем extension_delimiter (по умолчанию - пробел). Переменная выглядит так: %variable_name% (имя переменной заключено между двумя маркерами переменной, по умолчанию - %). Если блок в программе отключен, весь кусок (начиная с первого "") вырезается. Если в коде нужно сделать вывод данных этого блока в разных местах, то можно создать несколько дополнительных блоков в таком формате: HTML-код Где "ext" - любой дополнительный уникальный идентификатор (через пробел). Блоки не должны повторяться. Нельзя добавлять в код два блока с одинаковым именем. Это привело бы к неверной замене. Поэтому нужны дополнительные "ext". Если программа находит два или более блока с одинаковым именем, она считает это ошибкой. Если всё нормально, программа работает с этим блоком, делая в нём замены, а в конце заменяет его, вырезая маркеры. Есть два режима работы. Первый - создание для каждой подгруппы подпапки в отчёте с копированием шаблона. Второй - вывод данных подгрупп в те же файлы. Во втором случае все последующие переменные и блоки должны быть обёрнуты в конструкцию списка групп: ... Блок основной информации группы: %project_name% - Имя корневой группы отчета %group_name% - Имя группы %group_key% - Идентификатор группы %group_key_link% - Относительный путь из ключей от корневой группы с разделителем "/" %group_key_path% - Относительный путь из ключей от корневой группы с разделителем, зависящим от операционной системы %group_subgroups_count% - Количество непосредственных подгрупп %root_group_relative_link% - Относительный путь от текущей группы к родительской с разделителем "/" %root_group_relative_path% - Относительный путь от текущей группы к родительской с разделителем, зависящим от операционной системы Список родительских групп: %parent_group_name% %parent_group_key% %parent_group_key_link% %parent_group_key_path% %parent_group_relative_link% - Относительный путь от текущей группы к родительской с разделителем "/" %parent_group_relative_path% - Относительный путь от текущей группы к родительской с разделителем, зависящим от операционной системы Список непосредственных подгрупп: %subgroup_name% %subgroup_key% %subgroup_key_link% %subgroup_key_path% %subgroup_relative_link% %subgroup_relative_path% Блок стандартного вида: %datetime% - Дата и время формирования информации %datetime_cmp% - Дата и время для сравнения (или "—", если нет даты сравнения) Подблок - настройки: %elements_count% - Количество элементов данных в группе Перечислитель элементов группы: %element_id% - Идентификатор элемента данных Переключатель типа данных элемента (выводятся подходящие из них, остальные удаляются): У этого элемента настроек нет. Можно его вообще не выводить. %proxy_region% - Регион прокси-серверов (или "Любой", если не задан) %browser_name% - Имя браузера (или "—", если задан свой User-Agent) %browser_os% - Операционная система браузера (или "—", если задан свой User-Agent) %browser_accept_language% - Язык браузера Доступны все переменные из engine_element_switch и дополнительно: %frequency_type% - Тип частотности ("Базовая", "Фразовая", "Точная", "Фразовая с фиксированным порядком слов", "Точная с фиксированным порядком слов") %frequency_type_marker% - Тип частотности значком (пусто для базовой и "", "!", "[]", "[!]" для остальных) %frequency_db% - База Вордстата ("Все", "Десктопы", "Мобильные", "Только телефоны", "Только планшеты") %regions% - Строка с перечислением регионов в формате Вордстата (или пусто, если регионы не заданы) %regions_text% - Регионы текстом (или "Все регионы", если не заданы) Доступны все переменные из engine_element_switch и дополнительно: Блок доменов сайта (вырезается полностью, если ни один домен не задан): %site_domains_size% - Количество заданных доменов Сами домены: %domain% - Домен без http[s]:// и www., punicode раскодирован %domain_lower% - То же в нижнем регистре %target_url% - Целевая страница внутри домена, начинается с / %subdomains% - "Включая поддомены." или пусто %subdomains_class% - HTML-класс ("sdinclude", если включая или "sd", если нет) %target_type% - Тип совпадения ("Домен и любой URL", "Домен и точный URL", "Домен и начало URL") Блок настроек кластеризации (вырезается полностью, если кластеризация отключена): %threshold% - Степень схожести результатов поиска ("min" или число от 1 до 20) %random_tests% - Порядок кластерных тестов ("случайный" или "последовательный") %combine_clusters% - Объединение кластеров при необходимости ("объединять" или "не объединять") %max_tests% - Максимальное число кластерных тестов ("без ограничений" или число от 1 и выше) Доступны все переменные и блоки из searchengine_element_switch и дополнительно: %region% - Номер региона (или пусто, если регион не задан) %region_text% - Регион текстом (или "Все регионы", если не задан) %use_xml% - Использование Яндекс XML ("Использовать Яндекс XML." или "Использовать Яндекс.") %use_yandex_when_xml_error% - Использование Яндекса при невозможности использовать Яндекс XML ("Если Яндекс XML недоступен, использовать Яндекс." или пусто) %xml_page_results% - Число результатов на странице при проверке через Яндекс XML %xml_check_until% - Глубина проверки при использовании Яндекс XML %yandex_domain% - Домен Яндекса, использующийся для проверки позиций %page_results% - Число результатов на странице при проверке через Яндекс %check_until% - Глубина проверки при использовании Яндекса %parse_direct% - Парсится ли реклама Яндекс Директ ("Определять позиции в Яндекс Директ." или пусто) Доступны все переменные и блоки из searchengine_element_switch и дополнительно: %region% - Номер региона (или пусто, если регион не задан) %region_text% - Регион текстом (или "Не задан", если не задан) %google_domain% - Домен Google, использующийся для проверки позиций %google_domain_auto% - Автоопределение домена Google ("Автоматически определять домен." или пусто) %page_results% - Число результатов на странице %check_until% - Глубина проверки %parse_ads% - Парсится ли Google Реклама ("Определять позиции в Google Реклама.") Доступны все переменные и блоки из searchengine_element_switch и дополнительно: %check_until% - Глубина проверки Подблок - таблица: %table_headers% - Число столбцов в таблице %table_size% - Число строк в таблице %table_output_size% - Число строк таблицы, выведенное в отчет Заголовки столбцов таблицы: %header_name% - Название столбца %header_element_id% - Идентификатор элемента данных столбца %header_part_id% - Число, идентифицирующее ту часть данных, которую отображает столбец Сама таблица (строки и ячейки): Переключатель типа данных ячейки (выводятся подходящие из них, остальные удаляются): %keyword% - Ключевое слово %rgbcolor% - Цвет ключевого слова %keyword_group_name% - Имя группы, в которой находится ключевое слово, относительно корня Переключатель в зависимости от part_id: Вывод всех данных Вывод только ключевого слова %checking_state% - Статус проверки %checking_state_text% - Статус проверки (текстом) %error% - Код ошибки (0 - без ошибок) %error_text% - Сообщение об ошибке (текстом или пусто, если без ошибок) %time% - Дата/время полученя данных проверки Переключатель в зависимости от part_id: Вывод всех данных Вывод только статуса проверки Вывод только кода ошибки Вывод только даты/времени проверки Доступны все переменные из table_cell_engine_switch и дополнительно: %frequency% - Частотность %frequency_cmp% - Частотность для сравнения %frequency_dynamics% - Изменение частотности (число, начинающееся с +/- или пусто, если изменений нет) %frequency_dynamics_class% - HTML-класс (plus, minus или пусто, если изменений нет) Переключатели в зависимости от part_id, как и в table_cell_engine_switch и дополнительно: Вывод только частотности Доступны все переменные из table_cell_engine_switch и дополнительно: %snippet_title% - Заголовок сниппета %snippet_title_cmp% - Заголовок сниппета для сравнения %snippet_title_dynamics_class% - HTML-класс (changed или пусто, если изменений нет) %snippet_description% - Описание сниппета %snippet_description_cmp% - Описание сниппета для сравнения %snippet_description_dynamics_class% - HTML-класс (changed или пусто, если изменений нет) %relevant_page% - Релевантная страница %relevant_page_cmp% - Релевантная страница для сравнения %relevant_page_dynamics_class% - HTML-класс (changed или пусто, если изменений нет) %relevant_page_target_class% - HTML-класс целевой страницы (rptarget, если страница является целевой или rp, если нет) %position% - Позиция (пусто, если не проверялось; "—", если не найдено) %position_cmp% - Позиция для сравнения (пусто, если не проверялось; "—", если не найдено) %position_dynamics% - Изменение позиции (число, начинающееся с +/- или +∞/-∞, или пусто, если изменений нет) %position_dynamics_class% - HTML-класс (plus, minus или пусто, если изменений нет) %position_top_class% - HTML-класс в зависимости от топа (top3, top5, top10, top20, top50, top100 или пусто) %infected% - Информация о пометке "инфицирован" %infected_cmp% - Информация о пометке "инфицирован" для сравнения %infected_dynamics_class% - HTML-класс (changed или пусто, если изменений нет) %cluster% - Номер кластера или пусто, если не присвоен Дополнительный подблок с графиком позиций для этой ячейки (доступен также и в производных подблоках): %image_id% - Уникальный идентификатор изображения %filename% - Имя сгенерированного в соответствии с настройками файла изображения Переключатели в зависимости от part_id, как и в table_cell_engine_switch и дополнительно: Вывод только заголовка сниппета Вывод только описания сниппета Вывод только релевантной страницы Вывод только позиции Вывод только флага "инфицирован" Вывод только номера кластера Доступны все переменные из table_cell_searchengine_switch и дополнительно: %from_xml% - Информация об источнике данных (Яндекс или Яндекс XML или пусто, если данные не получены) %from_xml_cmp% - Информация об источнике данных для сравнения %from_xml_dynamics_class% - HTML-класс (changed или пусто, если изменений нет) %yandex_direct_position% - Позиция сайта в Директе (или "—", если не найдено, или пусто, если данные не получены) %yandex_direct_pos% - Короткий вариант позиции в Директе (или пусто, если не найдено) %yandex_direct_position_cmp% - Позиция сайта в Директе для сравнения (или "—", если не найдено, или пусто, если данные не получены) %yandex_direct_pos_cmp% - Короткий вариант позиции в Директе для сравнения (или пусто, если не найдено) %yandex_direct_position_dynamics_class% - HTML-класс (plus, minus или пусто, если изменений нет) Переключатели в зависимости от part_id, как и в table_cell_searchengine_switch и дополнительно: Вывод только источника данных Вывод только позиции в Яндекс Директ Доступны все переменные из table_cell_searchengine_switch и дополнительно: %google_ads_position% - Позиция сайта в Google Рекламе (или "—", если не найдено, или пусто, если данные не получены) %google_ads_pos% - Короткий вариант позиции в Google Рекламе (или пусто, если не найдено) %google_ads_position_cmp% - Позиция сайта в Google Рекламе для сравнения (или "—", если не найдено, или пусто, если данные не получены) %google_ads_pos_cmp% - Короткий вариант позиции в Google Рекламе для сравнения (или пусто, если не найдено) %google_ads_position_dynamics_class% - HTML-класс (plus, minus или пусто, если изменений нет) Переключатели в зависимости от part_id, как и в table_cell_searchengine_switch и дополнительно: Вывод только позиции в Google Рекламе Доступны все переменные из table_cell_searchengine_switch Переключатели в зависимости от part_id, как и в table_cell_searchengine_switch Подблок - таблица "Топы": %tops_headers% - Число столбцов в таблице (исключая столбец с названием Топа) Заголовки столбцов таблицы: %header_name% - Название столбца Сама таблица (строки и ячейки): %top% - Название Топа для строки %count% - Количество запросов, находящихся в этом Топе %count_of% - Общее количество запросов %percent% - Процент запросов в Топе (или пусто, если вычислить нельзя) %count_cmp% - Количество запросов, находящихся в этом Топе для сравнения %count_of_cmp% - Общее количество запросов для сравнения %percent_cmp% - Процент запросов в Топе для сравнения (или пусто, если вычислить нельзя) %percent_dynamics% - Изменение процента (число, начинающееся с +/- или пусто, если изменений нет) %percent_dynamics_class% - HTML-класс (plus, minus или пусто, если изменений нет) Подблок - таблица "Релевантные страницы": %relevant_pages_headers% - Число столбцов в таблице (исключая столбец с URL релевантной страницы) %relevant_pages_size% - Число строк в таблице Заголовки столбцов таблицы: %header_name% - Название столбца Сама таблица (строки и ячейки): %relevant_page% - URL релевантной страницы %percent% - Процент видимости релевантной страницы (или "—", если страница не встречалась) %percent_cmp% - Процент видимости релевантной страницы для сравнения (или "—", если страница не встречалась) %percent_dynamics% - Изменение процента видимости (число, начинающееся с +/- или пусто, если изменений нет) %percent_dynamics_class% - HTML-класс (plus, minus или пусто, если изменений нет) Подблок - таблица "Показатели": %rates_headers% - Число столбцов в таблице (исключая столбец с названием показателя) Заголовки столбцов таблицы: %header_name% - Название столбца Сама таблица (строки и ячейки): %rate% - Название показателя для строки В каждой ячейке таблицы может быть несколько значений-параметров показателя (выводятся через пробел и имеют класс для подсветки динамики): %value% - Значение показателя %value_dynamics_class% - HTML-класс подсветки динамики (plus, minus или пусто, если подсветка не требуется) Подблок - таблица "Конкуренты": %competitors_headers% - Число столбцов в таблице %competitors_output_size% - Число доменов конкурентов, выведенное в отчет Заголовки столбцов таблицы: %header_name% - Название столбца Сама таблица (строки и ячейки): %domain% - Домен сайта конкурента без www и протокола %my_domain_class% - HTML-класс для пометки "своих" доменов (mydomain или пусто, если домен не свой) %pos_dynamics% - Динамика позиции домена конкурента в списке (число, начинающееся с +/- или пусто, если изменений нет) %pos_dynamics_class% - HTML-класс подсветки динамики (plus, minus или пусто, если подсветка не требуется) %domain_percent% - Процент видимости для всего домена (суммарно всех урлов) В каждой ячейке таблицы может быть несколько URL для текущего домена конкурента: %url% - URL страницы сайта конкурента %site_url% - URL сайта конкурента без страницы %relative_url% - URL с отрезанным доменом, начинающийся с "/" %url_percent% - Процент видимости для этого URL Блок последних проверок группы: %se_elements_count% - Количество элементов данных поисковых систем в группе Перечислитель элементов поисковых систем группы: %se_element_id% - Идентификатор элемента данных Далее здесь идут такие же блоки, как и внутри standard_view_block, за исключением подблока settings_block, который отсутствует. "Плоский" блок последних проверок группы: Далее здесь идут такие же блоки, как и внутри standard_view_block, за исключением подблока settings_block, который отсутствует. Блок графиков группы: %se_elements_count% - Количество элементов данных поисковых систем в группе Перечислитель элементов поисковых систем группы: %se_element_id% - Идентификатор элемента данных Диаграмма "Топы": %image_id% - Уникальный идентификатор изображения %filename% - Имя сгенерированного в соответствии с настройками файла изображения Диаграмма "Динамика позиций": %image_id% - Уникальный идентификатор изображения %filename% - Имя сгенерированного в соответствии с настройками файла изображения Диаграмма "Средние позиции": %image_id% - Уникальный идентификатор изображения %filename% - Имя сгенерированного в соответствии с настройками файла изображения Диаграмма "Общая видимость": %image_id% - Уникальный идентификатор изображения %filename% - Имя сгенерированного в соответствии с настройками файла изображения Следующие три блока не выводятся, если у группы нет подгрупп. Блок сводного вида (группа и подгруппы): Блок аналогичен блоку standard_view_block за исключением отсутствия блока настроек settings_block Блок последних проверок (группы с подгруппами): Блок аналогичен блоку group_last_checks_block "Плоский" блок последних проверок (группы с подгруппами): Блок аналогичен блоку group_last_checks_flat_block Блок графиков (группы с подгруппами): Блок аналогичен блоку group_diagrams_block Дополнительный блок настрйки вывода в отчёт всех подгрупп (всё внутри вырезается, если в настройках отчёта выключен вывод всех подгрупп) Дополнительные блоки состояния подблоков (всё внутри вырезается, если в настройках отчёта выключен соответствующий подблок):