Для сохранения нужных частей шаблона вывода (при парсинге во вкладке “контент”) в указанный(ые) файл(ы), возьмите их в макрос [SAVETOFILE]:
1 2 3 | Другой код шаблона вывода [SAVETOFILE:specs.csv{add}{translit}{convertspace}{nodelete}{utf8}]текст, для сохранения в файл specs.csv[/SAVETOFILE] Другой код шаблона вывода |
При таком раскладе, все, что содержится внутри макроса [SAVETOFILE]…[/SAVETOFILE], будет сохранено в файл specs.csv, который будет создан в папке, куда вы парсите контент.
Как видно из примера, у макроса есть несколько параметров, а именно:
{rename} – включить автоматическое переименование файлов при совпадении имен
{add} – использовать дозапись в файл (если убрать этот параметр, то при следующем вызове макроса [SAVETOFILE] с таким же именем, файл будет перезаписываться)
{norewrite} – отключит запись в существующий файл (если такой файл уже есть на диске)(оператор {add} аннулирует действие оператора {norewrite})
{rewrite_once} – включит режим перезаписи каждого из файлов только при первом добавлении в них данных для каждой сессии парсинга контента (при первой попытке записи в файл, если файл будет существовать на диске, он будет перезаписан, далее в него будет производиться дозапись данных (перезапишутся они только при следующем запуске процедуры парсинга контента))
{translit} – преобразование русских букв имени файла в транслит
{convertspace} – преобразование пробелов имени файла в знак дефиса (тире)
{nodelete} – если этот параметр присутствует, то записываемые в файл данные (текст, для сохранения в файл specs.csv) останутся в шаблоне вывода (не будут удаляться)
{keepname} – на месте макроса останется ТОЛЬКО имя файла (specs.csv).
{utf8} – сохранить файл в кодировке UTF-8 (если этот параметр отсутствует, то данные будут сохранены в кодировке ANSI)
{notcsv} – отключит преобразование для сохраняемого этим макросом контента в CSV-формат (не будут добавляться разделители CSV)
{exact} – включает режим указания абсолютного и точного (без изменений макросом) пути к файлу для сохранения (пример использования)
И, разумеется, на месте “specs.csv” и “текст, для сохранения в файл specs.csv” вы можете использовать границы парсинга и любые другие макросы шаблона вывода.
Как указать абсолютный путь к любой папке на диске для записи в нее файлов
Для этого используйте параметр {path}абсолютный путь к корневой папке на диске для сохранения в нее файлов{/path}.
Пример использования параметра {path}:
1 2 3 | Другой код шаблона вывода [SAVETOFILE:{path}C:\Content\1\{/path}specs.csv{add}{translit}{convertspace}{nodelete}{utf8}]текст, для сохранения в файл specs.csv[/SAVETOFILE] Другой код шаблона вывода |
Задание строки заголовка (записывается в начало файла только один раз)
Если вам необходимо задать строку заголовка для файлов, создаваемых макросом [SAVETOFILE], пропишите ее в {head} следующим образом:
1 2 3 | Другой код шаблона вывода [SAVETOFILE:{head}Имя 1 столбца[CSVCS]Имя второго столбца{/head}specs.csv{add}{translit}{convertspace}{nodelete}{utf8}]текст, для сохранения в файл specs.csv[/SAVETOFILE] Другой код шаблона вывода |
Задание нижней строки (записывается в конец файла в конце процедуры парсинга)
Если вам необходимо задать нижнюю строку для файлов, создаваемых макросом [SAVETOFILE], пропишите ее в {bottom} следующим образом:
1 2 3 | Другой код шаблона вывода [SAVETOFILE:{bottom}Нижняя строка{/bottom}{head}Имя 1 столбца[CSVCS]Имя второго столбца{/head}specs.csv{add}{rewrite_once}{translit}{convertspace}{utf8}]текст, для сохранения в файл specs.csv[/SAVETOFILE] Другой код шаблона вывода |
Обратите внимание на присутствие параметра {rewrite_once} (включение перезаписи файла при первой инициации записи данных в него в пределах каждой сессии парсинга контента).
ВАЖНО: Для проверки результатов записи, производите не предпросмотр парсинга контента (как обычно), а парсинг контента (F5). Восстановить прежнее состояние списка ссылок после парсинга вы сможете так: правый клик по списку ссылок -> пункт контекстного меню “отменить последнее действие”.
Загрузка файлов на FTP
Для загрузки на FTP файлов, созданных макросом [SAVETOFILE] (при завершении процедуры парсинга контента) используйте параметр {toftp}имя FTP-соединения из менеджера (ctrl+m){/toftp}
1 2 3 | [SAVETOFILE:{path}C:\Content\1{/path}{add}FTPTestFile.txt{toftp}for tests{/toftp}]777888[/SAVETOFILE] [SAVETOFILE:{path}C:\Content\1{/path}{add}FTPTestFile2.txt{toftp}for tests{/toftp}]777888[/SAVETOFILE] [SAVETOFILE:{path}C:\Content\1{/path}{add}FTPTestFile3.txt{toftp}for tests{/toftp}]777888[/SAVETOFILE] |
Также можно указать путь сохранения файла на FTP с помощью оператора {ftppath} (добавляется внутрь {toftp}…{/toftp}).
1 | [SAVETOFILE:{path}C:\Content\1{/path}{add}FTPTestFile.txt{toftp}for tests{ftppath}ftpfolder\ftpsubfolder\{/toftp}]777888[/SAVETOFILE] |
В данном случае файл загрузится на FTP в папку ftpfolder\ftpsubfolder\ с именем FTPTestFile.txt
1 | [SAVETOFILE:{path}C:\Content\1{/path}{add}FTPTestFile.txt{toftp}for tests{ftppath}ftpfolder\ftpsubfolder\abc.csv{/toftp}]777888[/SAVETOFILE] |
В данном случае файл загрузится на FTP в папку ftpfolder\ftpsubfolder\ с именем abc.csv
Режим указания абсолютного и точного (без изменений макросом) пути к файлу для сохранения (оператор {exact})
Используйте этот режим с осторожностью (чтобы не перезаписать какие-либо важные файлы)!
Например, вам нужно при парсинге во вкладке “Контент” открыть файл с локального диска, произвести в его содержимом какие-либо изменения, например, поиск-замену и затем сохранить изменения в этот же файл, используйте подобную конструкцию макросов шаблона вывода:
1 | [SAVETOFILE:{notcsv}{utf8}{exact}<CD_DOCURL!>][REPLACE(что заменить|на что заменить)][DOCSOURCE][/REPLACE][/SAVETOFILE] |
ВАЖНО: Для проверки результатов записи, производите не предпросмотр парсинга контента (как обычно), а парсинг контента (F5). Восстановить прежнее состояние списка ссылок после парсинга вы сможете так: правый клик по списку ссылок -> пункт контекстного меню “отменить последнее действие”.
Сделайте пожалуйста одну страничку с перечнем всех макросов, кратким описанием и ссылками на полное описание.
Ориентироваться во всем разнообразии макросов очень сложно, а так все будет в одном месте.