Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
то ждем ваше обращение в нашей службе тех поддержки.
Как известно, поисковые машины любят и хорошо индексируют контент в формате PDF. Да и посетители сайтов при возможности охотно сохраняют страницы сайтов в этом формате, чтобы затем изучить на досуге. Разумеется, на это есть встроенные функции языка PHP. Но как увязать их с CMS «Битрикс»?
1. Подключаем библиотеку mPDF
Скачиваем библиотеку mPDF, затем распаковываем и копируем в коренной каталог сайта.
2. Создаем обработчик для создания файла PDF
Создаем обработчик, который будет автоматически выводить в PDF элемент инфоблока
3. Создаем обработчик для удаления ненужного файла
После удаления элемента инфоблока соответствующий ему файл PDF надо удалить, чтобы не вводить в заблуждение людей и роботов. Для этого используем код:
4. Подключаем обработчики
В файле init.php подключаем оба обработчика
Готово!
Назад в раздел
1. Подключаем библиотеку mPDF
Скачиваем библиотеку mPDF, затем распаковываем и копируем в коренной каталог сайта.
2. Создаем обработчик для создания файла PDF
Создаем обработчик, который будет автоматически выводить в PDF элемент инфоблока
function IBlockAfterSave( $arFields ) { require ( $_SERVER [ "DOCUMENT_ROOT" ]. "/MPDF57/mpdf.php" ); if (!CModule::IncludeModule( "iblock" )) return ; $res = CIBlockElement::GetByID( $arFields [ 'ID' ]); if ( $ar_res = $res ->GetNext()){ $HTML = " <div class =\"post-pdf\"> <h1> $ar_res [NAME]</h1> <div class =\"post-pdf-text\"> $ar_res [DETAIL_TEXT]</div> </div>"; $HTML = iconv( 'cp1251' , 'utf-8' , $HTML ); $PDF_NAME = $arFields [ 'ID' ]. ".PDF" ; $BE_DIR = $_SERVER [ "DOCUMENT_ROOT" ]. "/" .COption::GetOptionString( "main" , "upload_dir" ). "/pdf/" ; $mpdf = new mPDF(); $mpdf ->SetHeader( $ar_res [ "DATE_CREATE" ]. '|{PAGENO}|Блог WEB программиста' ); $mpdf ->SetFooter( '|{PAGENO} | http://' .COption::GetOptionString( "main" , "server_name" ). $ar_res [ "DETAIL_PAGE_URL" ]); $mpdf ->WriteHTML( $HTML ); $mpdf ->Output( $BE_DIR . $PDF_NAME , "F" ); } } |
3. Создаем обработчик для удаления ненужного файла
После удаления элемента инфоблока соответствующий ему файл PDF надо удалить, чтобы не вводить в заблуждение людей и роботов. Для этого используем код:
<? AddEventHandler( "iblock" , "OnBeforeIBlockElementDelete" , "IBlockBeforeDel" ); function IBlockBeforeDel( $ID ) { if ( file_exists ( $_SERVER [ "DOCUMENT_ROOT" ]. "/" .COption::GetOptionString( "main" , "upload_dir" ). "/pdf/" . $ID . ".PDF" )) unlink( $_SERVER [ "DOCUMENT_ROOT" ]. "/" .COption::GetOptionString( "main" , "upload_dir" ). "/pdf/" . $ID . ".PDF" ); } ?> |
4. Подключаем обработчики
В файле init.php подключаем оба обработчика
<?php AddEventHandler( "iblock" , "OnAfterIBlockElementUpdate" , "IBlockAfterSave" ); AddEventHandler( "iblock" , "OnAfterIBlockElementAdd" , "IBlockAfterSave" ); ?> |
Готово!
Назад в раздел
Подписаться на новые материалы раздела: