Этот рецепт позволяет создать симпатичные кнопки для печати, отправки по e-mail, экспорта в DOC и PDF содержимого текущей страницы в другом оформлении. Рецепт раскрывает методику, подход к решению задачи.
Живой пример работы:
Make PDF кнопка не требует ничего, кроме указания правильного значения href
<a class='btn btn-small btn-primary' href='?template=98&action=MakePDF' target='_blank' title='сохранить как .pdf'>Make PDF</a>
Make DOC кнопка не требует ничего, кроме указания правильного значения href
<a class='btn btn-small btn-primary' href='?template=98&action=MakeDOC' target='_blank' title='сохранить как .doc'>Make DOC</a>
Print кнопка требует jquery.printPage.js, обработки нажатия кнопки из phph-application.js.
<a class='btn btn-small btn-primary' id='btnPrint' href = '?template=98' />Print</a>
e-mail кнопка требует обработки нажатий кнопок из phph-application.js
<span id ='EmailID' style='display: none;'> <input class='input-medium search-query' name='email' id='email-input' type='text' placeholder='введите email'> <a class='btn btn-primary' id='email-sender' href='?template=98'>Отправить</a> </span></p>
Использование:
Кнопки можно установить где угодно: в макете дизайна, компоненте или даже объекте. Фактически, функционал можно навесить на любую ссылку, лишь бы соблюдались следующие условия:
- требуется поменять значения href: в template=98 следует указать номер макета-экспортера в вашей установке NetCat.
- у кнопок из примеров нельзя менять id (там, где они заданы). Зато можно менять их стили и классы.
На заметку: в адресной строке можно передавать и любые другие параметры, например, задать шаблон компонента через nc_ctpl= Следует однако учесть, что из-за архитектурных ограничений NetCat шаблон компонента можно применить только к "Объекту в списке". В случае необходимости применить шаблон макета к "Полному выводу объекта", следует в шаблоне переместить его код в объект в списке, в адресной строке передать id текущего объекта, в системные настройки шаблона добавить примерно такой код: query_where .= "a.Message_ID = '$id'";
Подсказка: предпросмотр любой страницы (как она будет выглядеть при экспорте) можно осуществить, добавив к адресу ?template=98
Установка:
Вам понадобится:
- mPDF для PDF-экспорта
- jquery.printPage.js для печати
- создать новый макет дизайна, взяв наши исходники (код внизу) . Этот макет будет использоваться для всех действий.
К сожалению, у нас проблемы с поддержкой Рецептов. Когда-то мы не подумали о том, что сложно будет поддерживать актуальность инструкций. Поэтому, если вам нужно установить этот рецепт, напишите комментарий на его странице:
https://www.ph-ph.ru/NetCat/Content-Export-Tools
Мы попробуем помочь.