Этот рецепт позволяет создать симпатичные кнопки для печати, отправки по 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>

Использование:

Кнопки можно установить где угодно: в макете дизайна, компоненте или даже объекте. Фактически, функционал можно навесить на любую ссылку, лишь бы соблюдались следующие условия:

  1. требуется поменять значения href: в template=98 следует указать номер макета-экспортера в вашей установке NetCat.
  2. у кнопок из примеров нельзя менять id (там, где они заданы). Зато можно менять их стили и классы.

На заметку:  в адресной строке можно передавать и любые другие параметры, например, задать шаблон компонента через nc_ctpl= Следует однако учесть, что из-за архитектурных ограничений NetCat шаблон компонента можно применить только к "Объекту в списке". В случае необходимости применить шаблон макета к "Полному выводу объекта", следует в шаблоне переместить его код в объект в списке, в адресной строке передать id текущего объекта, в системные настройки шаблона добавить примерно такой код: query_where .= "a.Message_ID = '$id'";

Подсказка: предпросмотр любой страницы (как она будет выглядеть при экспорте) можно осуществить, добавив к адресу ?template=98

Установка:

Рецепт поставляется в составе PhPh-Pack и полностью соответствует его стандартам. Если вы не хотите скачивать PhPh-Pack целиком, вы можете внедрить этот рецепт в свой NetCat, совершив несколько простых шагов:

  1. изучите принцип размещения файлов в PhPh-Pack'e и в соответствии с его логикой скачайте и внедрите к себе:
    • mPDF для PDF-экспорта
    • jquery.printPage.js для печати
    • JS-код данного рецепта (content-export-tools) из phph-application.js для e-mail и печати (можно взять, посмотрев исходный код данной страницы)
  2. создайте новый макет дизайна, взяв наши исходники (код внизу) . Этот макет будет использоваться для всех действий.
  3. стилизуйте созданный макет под свои нужды. Важно: CSS-стили следует задавть в head html-кода
  4. поставьте кнопки в любом месте своего сайта и возрадуйтесь! :)