Например, вы производите периодический парсинг интернет магазина. И вам при этом нужно осуществлять запросы к БД для публикации только тех товаров, где есть какие-либо изменения (например, в цене или в описании, или и в цене и в описании). Для проверки изменений данных при повторном парсинге используйте макрос шаблона вывода [CHECKCHANGES].
1 2 3 4 5 6 7 | [CHECKCHANGES] {DATA}Данные для проверки{/DATA} {ID}ID файла (куда будут сохраняться данные для проверки){/ID} {FILESPATH}Путь к папке для сохранения файлов с данными для проверки{/FILESPATH} {IF_YES}Что выводить, если изменения данных есть{/IF_YES} {IF_NO}Что выводить, если данные не изменились{/IF_NO} [/CHECKCHANGES] |
Описание параметров
DATA (обязательный параметр): Вставьте в этот параметр проверяемые на изменения данные. Например, можно использовать макрос какой-либо границы парсинга.
ID: В этом параметре можно назначать имя файла для сохраняемых на диск данных для проверки для последующих обращений к нему. Например, в этом параметре можно указать артикул товара. Если этот параметр оставить пустым, то ID будет генерироваться из URL адреса WEB документа.
FILESPATH: В эту папку будут сохраняться файлы с данными. По умолчанию используется путь C:\CCDATA\.
IF_YES: Поместите сюда макросы шаблона вывода или любые другие данные, которые нужно выводить, когда проверяемые изменения есть.
IF_NO: Поместите сюда макросы шаблона вывода или любые другие данные, которые нужно выводить, когда проверяемых изменений нет.
Как работает макрос
Макрос сохраняет данные из параметра DATA на диск в файл с именем, генерируемым из значения параметра ID (в папку, указанную в параметре FILESPATH). При последующем парсинге макрос попытается найти файл с таким ID в папке и сравнит содержимое файла с новым значением параметра DATA. Если изменения есть, то макрос выведет содержимое параметра IF_YES. Если изменений нет, то будет выведено содержимое параметра IF_NO.
Примечание: Данные в файлах будут перезаписываться после каждой проверки только в случае, когда есть изменения.